Function at 0x4d5860
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x583b34
mov eax, dword fs:[0]
push eax
mov eax, 0x3a0c
call fcn.005211a0
mov eax, dword [0x5d4090]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x3804], esi
mov dword [ebp - 0x3800], ecx
xor eax, eax
push ecx
lea ecx, [ebp - 0x3960]
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
mov byte [ebp - 0x3825], al
mov byte [ebp - 0x3831], al
mov byte [ebp - 0x37f9], al
call fcn.00437d20
lea edi, [esi + 0xf0]
mov dword [ebp - 4], 0
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x4d58e2
mov eax, dword [edi]
push ecx
push 1
push eax
lea ecx, [ebp - 0x3950]
call fcn.0040fc40
test eax, eax
lea ecx, [ebp - 0x3960]
mov eax, dword [ebp - 0x3960]
mov edx, 4
je 0x4d591b
add ecx, dword [eax + 4]
mov eax, edx
xor edx, edx
mov byte [ebp - 0x3814], dl
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x4d5937
add ecx, dword [eax + 4]
xor eax, eax
mov byte [ebp - 0x3814], 0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push dword [ebp - 0x3814]
push eax
call fcn.004050a0
mov eax, dword [ebp - 0x3960]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x3954], 6
je 0x4d5983
mov edx, str.ERROR_opening_file:
mov ecx, 0x5d6660
call fcn.00411000
mov edx, edi
mov ecx, eax
call fcn.00411260
push eax
call fcn.00411280
add esp, 4
mov byte [ebp - 0x3825], 0
jmp 0x4daab5
push 0x24
call fcn.0051fa77
mov esi, eax
add esp, 4
mov dword [ebp - 0x3818], esi
push 0
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
push edi
call fcn.00402f10
lea eax, [ebp - 0x3960]
mov ecx, esi
push eax
call fcn.00464860
push fcn.00402ec0
push fcn.0040f540
push 0x1f4
mov dword [ebp - 0x3824], eax
lea eax, [ebp - 0x36c0]
push 0x18
push eax
mov byte [ebp - 4], 0
call fcn.005201f3
push ecx
lea ecx, [ebp - 0x3a18]
mov byte [ebp - 4], 2
mov dword [ebp - 0x3854], 0
call fcn.00437d20
mov eax, dword [ebp - 0x3804]
mov byte [ebp - 4], 3
mov dword [ebp - 0x3858], 0
cmp byte [eax + 0x2c9], 0
je 0x4d5a69
mov edx, 0x59b158
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
mov edx, str.Parsing_RVH_Input_File
mov ecx, 0x5d6660
call fcn.00411000
mov edx, edi
mov ecx, eax
call fcn.00411260
mov edx, 0x59b190
mov ecx, eax
call fcn.00411000
push eax
call fcn.00411280
mov edx, 0x59b158
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 0xc
mov esi, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
mov ecx, esi
push eax
call fcn.00464970
mov byte [ebp - 0x37fb], al
test al, al
jne 0x4da8cf
cmp byte [ebp - 0x3825], 0
mov al, byte [ebp - 0x37f9]
mov byte [ebp - 0x37fa], al
jne 0x4da8cf
mov edi, dword [ebp - 0x3804]
cmp byte [edi + 0x2c9], 0
je 0x4d5ae4
mov ecx, esi
call fcn.00464940
push eax
mov edx, str.reading_line
mov ecx, 0x5d6660
call fcn.00411000
mov ecx, eax
call fcn.004156e0
mov edx, 0x597058
mov ecx, eax
call fcn.00411000
mov esi, dword [ebp - 0x3810]
test esi, esi
jne 0x4d5b20
cmp byte [edi + 0x2c9], 0
je 0x4d5b0f
mov edx, 0x59705b
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov edi, dword [ebp - 0x7e0]
mov edx, esi
mov ecx, edi
mov dword [ebp - 0x3808], edi
call fcn.0040bf40
test al, al
jne 0x4da7ca
mov ecx, str.:End
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5b64
test dl, dl
je 0x4d5b60
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5b64
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5b44
xor eax, eax
jmp 0x4d5b69
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d5bab
mov esi, dword [ebp - 0x3804]
cmp byte [esi + 0x2c9], al
je 0x4d5b93
mov edx, 0x59fd64
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x3825], 1
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:IfModeEquals
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5bd2
test dl, dl
je 0x4d5bce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5bd2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5bb2
xor eax, eax
jmp 0x4d5bd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d5c93
mov ah, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], ah
cmp esi, 1
jle 0x4da7f1
mov edi, dword [ebp - 0x3804]
cmp byte [edi + 0x2c9], 0
je 0x4d5c21
mov edx, str.Mode_statement_start...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
mov ah, byte [ebp - 0x37fa]
add esp, 4
mov edx, 1
mov byte [ebp - 0x37f9], ah
xor cl, cl
mov dword [ebp - 0x3814], edx
cmp esi, edx
jle 0x4d5c87
mov al, byte [edi + 0xd4]
nop
mov byte [ebp - 0x37f9], ah
mov eax, dword [ebp + edx*4 - 0x7e0]
mov dl, byte [edi + 0xd4]
movzx ecx, cl
cmp byte [eax], dl
mov eax, 1
mov edx, dword [ebp - 0x3814]
cmove ecx, eax
mov al, byte [ebp - 0x37f9]
inc edx
mov ah, al
mov dword [ebp - 0x3814], edx
cmp edx, esi
jl 0x4d5c40
mov byte [ebp - 0x385c], al
test cl, cl
jne 0x4da7f1
mov byte [ebp - 0x3831], 1
jmp 0x4da7f1
cmp byte [ebp - 0x3831], 0
je 0x4d5d31
mov esi, dword [ebp - 0x3804]
cmp byte [esi + 0x2c9], 0
je 0x4d5cc7
mov edx, str._skip
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov eax, str.:EndIfModeEquals
nop dword [eax]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x4d5cf0
test cl, cl
je 0x4d5cec
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x4d5cf0
add edi, 2
add eax, 2
test cl, cl
jne 0x4d5cd0
xor eax, eax
jmp 0x4d5cf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d5d20
cmp byte [esi + 0x2c9], al
je 0x4d5d19
mov edx, str....Mode_statement_end
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov byte [ebp - 0x3831], 0
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:EndIfModeEquals
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5d58
test dl, dl
je 0x4d5d54
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5d58
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5d38
xor eax, eax
jmp 0x4d5d5d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7ca
mov ecx, str.:RedirectToFile
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5d90
test dl, dl
je 0x4d5d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5d70
xor eax, eax
jmp 0x4d5d95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d6033
push eax
mov dword [ebp - 0x3768], eax
lea ecx, [ebp - 0x3768]
push 0x59705b
mov dword [ebp - 0x3758], eax
mov dword [ebp - 0x3754], 0xf
mov byte [ebp - 0x3768], al
call fcn.00402080
mov cl, byte [ebp - 0x37fa]
mov esi, 1
mov byte [ebp - 4], 4
mov byte [ebp - 0x37f9], cl
cmp dword [ebp - 0x3810], esi
jle 0x4d5e35
mov byte [ebp - 0x37f9], cl
nop dword [eax]
mov edx, dword [ebp + esi*4 - 0x7e0]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5e00
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x3768]
call fcn.00410670
mov edi, dword [ebp - 0x3810]
lea eax, [edi - 1]
cmp esi, eax
jge 0x4d5e30
push 0x20
lea ecx, [ebp - 0x3768]
call fcn.00410060
inc esi
cmp esi, edi
jl 0x4d5df0
mov edi, dword [ebp - 0x3804]
cmp byte [edi + 0x2c9], 0
je 0x4d5e69
mov edx, str.Redirect_to_file:
mov ecx, 0x5d6660
call fcn.00411000
lea edx, [ebp - 0x3768]
mov ecx, eax
call fcn.00411260
push eax
call fcn.00411280
add esp, 4
sub esp, 0x18
lea eax, [edi + 0x120]
mov ecx, esp
mov dword [ebp - 0x3818], esp
push eax
call fcn.00402f10
sub esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp - 0x3768]
mov ecx, esp
push eax
call fcn.00402f10
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 4
call fcn.004d4780
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x3768]
cmp eax, esi
je 0x4d5ee2
mov ecx, eax
call fcn.00402fe0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x3768], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x3758], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
cmp dword [ebp - 0x3754], 0x10
lea eax, [ebp - 0x3768]
lea ecx, [ebp - 0x3a18]
cmovae eax, dword [ebp - 0x3768]
sub esp, 8
push eax
call fcn.00437c70
mov eax, dword [ebp - 0x3a18]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x3a0c], 6
je 0x4d5fc1
mov ecx, dword [ebp - 0x3758]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 0x22
jb 0x4daae6
cmp dword [ebp - 0x3754], 0x10
lea eax, [ebp - 0x3768]
push ecx
cmovae eax, dword [ebp - 0x3768]
push eax
push 0x22
push str.:RedirectToFile:_Cannot_find_file
push ecx
push dword [ebp - 0x3818]
lea ecx, [ebp - 0x36d8]
call fcn.00412290
mov eax, dword [ebp - 0x380c]
or eax, 0x2000
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x36d8]
cmp dword [ebp - 0x36c4], 0x10
cmovae ecx, dword [ebp - 0x36d8]
xor edx, edx
call fcn.004c4d70
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3768]
mov byte [ebp - 4], 3
call fcn.00402ec0
jmp 0x4da7f1
cmp dword [ebp - 0x3858], 0
je 0x4d5fd6
xor edx, edx
mov ecx, str.ParseHRUPropsFile::nested_:RedirectToFile_commands__in_already_redirected_files__are_not_allowed.
call fcn.004c4d70
mov eax, dword [ebp - 0x3824]
push 0x24
mov dword [ebp - 0x3858], eax
call fcn.0051fa77
mov esi, eax
add esp, 4
mov dword [ebp - 0x3888], esi
push 0
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp - 0x3768]
mov ecx, esp
push eax
call fcn.00402f10
lea eax, [ebp - 0x3a18]
mov ecx, esi
push eax
call fcn.00464860
lea ecx, [ebp - 0x3768]
mov dword [ebp - 0x3824], eax
mov byte [ebp - 4], 3
call fcn.00402ec0
jmp 0x4da7f1
mov ecx, str.:SubBasins
mov eax, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6060
test dl, dl
je 0x4d605c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6060
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6040
xor eax, eax
jmp 0x4d6065
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d606d
xor al, al
jmp 0x4d60a3
mov ecx, str.:Conduits
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6094
test dl, dl
je 0x4d6090
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6094
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6074
xor eax, eax
jmp 0x4d6099
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d6750
mov al, 1
mov byte [ebp - 0x385c], al
mov byte [ebp - 0x37f9], al
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d60d6
mov edx, str.Subbasin_or_conduit_data...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
cmp esi, 1
je 0x4d60f2
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
jmp 0x4da7f1
cmp byte [ebp - 0x37fb], 0
jne 0x4da7f1
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov edi, dword [ebp - 0x3810]
mov edx, edi
mov esi, dword [ebp - 0x7e0]
mov ecx, esi
mov byte [ebp - 0x37fb], al
call fcn.0040bf40
test al, al
jne 0x4d60f2
mov ecx, str.:Attributes
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6160
test dl, dl
je 0x4d615c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6160
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6140
xor eax, eax
jmp 0x4d6165
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d60f2
mov ecx, str.:Units
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6190
test dl, dl
je 0x4d618c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6190
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6170
xor eax, eax
jmp 0x4d6195
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d60f2
mov ecx, str.:EndSubBasins
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d61c4
test dl, dl
je 0x4d61c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d61c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d61a4
xor eax, eax
jmp 0x4d61c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
mov ecx, str.:EndConduits
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d61f8
test dl, dl
je 0x4d61f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d61f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d61d8
xor eax, eax
jmp 0x4d61fd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
cmp edi, 6
jge 0x4d621c
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov esi, dword [ebp - 0x7d4]
sub esp, 0x18
mov ecx, esp
push esi
call fcn.0040f4d0
call fcn.0049ca30
mov dword [ebp - 0x3750], 0
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x3740], 0
mov dword [ebp - 0x373c], 0xf
mov byte [ebp - 0x3750], 0
mov dword [ebp - 0x36f0], 0
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0xf
mov byte [ebp - 0x36f0], 0
push esi
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 9
call fcn.0040f4d0
push eax
mov edx, str.Parse_RVH_File:_Unrecognized_Channel_profile_code__
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3738]
call fcn.00410df0
push str.__in_:SubBasins_or_:Conduits_command
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x36d8]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
call fcn.00402ec0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 9
call fcn.00402ec0
push 0x79
push str.Parse_RVH_File:_NONE_cannot_be_used_as_channel_code_if_routing_method_is_anything_other_than_ROUTE_NONE_or_ROUTE_EXTERNAL
lea ecx, [ebp - 0x36f0]
call fcn.00402080
test edi, edi
jne 0x4d634d
push esi
lea ecx, [ebp - 0x3720]
call fcn.0040f4d0
mov byte [ebp - 4], 0xc
mov edx, str.NONE
mov ecx, dword [ebp - 0x380c]
or ecx, 1
mov dword [ebp - 0x380c], ecx
mov dword [ebp - 0x383c], ecx
mov ecx, eax
call fcn.00410fc0
test al, al
je 0x4d634d
mov eax, dword [ebp - 0x3804]
cmp dword [eax + 0x2a8], edi
je 0x4d634d
mov al, 1
jmp 0x4d634f
xor al, al
cmp dword [ebp - 0x373c], 0x10
lea ecx, [ebp - 0x3750]
cmovae ecx, dword [ebp - 0x3750]
test al, al
je 0x4d6371
mov edx, 1
call fcn.004c4d70
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x380c]
test al, 1
je 0x4d639c
and eax, 0xfffffffe
lea ecx, [ebp - 0x3720]
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
call fcn.00402ec0
test edi, edi
jne 0x4d63fe
push esi
lea ecx, [ebp - 0x3720]
call fcn.0040f4d0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x380c]
or ecx, 2
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x380c], ecx
mov dword [ebp - 0x383c], ecx
mov ecx, eax
jb 0x4d63cf
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 4
push str.NONE
call fcn.00412870
add esp, 8
test al, al
je 0x4d63fe
mov eax, dword [ebp - 0x3804]
mov eax, dword [eax + 0x2a8]
test eax, eax
je 0x4d63fe
cmp eax, 9
je 0x4d63fe
mov al, 1
jmp 0x4d6400
xor al, al
cmp dword [ebp - 0x36dc], 0x10
lea ecx, [ebp - 0x36f0]
cmovae ecx, dword [ebp - 0x36f0]
test al, al
je 0x4d6422
mov edx, 1
call fcn.004c4d70
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x380c]
test al, 2
je 0x4d644d
and eax, 0xfffffffd
lea ecx, [ebp - 0x3720]
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
call fcn.00402ec0
mov esi, dword [ebp - 0x7e0]
lea eax, [ebp - 0x3880]
push 0xa
push eax
push esi
call fcn.0054d89b
mov eax, dword [ebp - 0x3880]
add esp, 0xc
cmp byte [eax], 0
je 0x4d6501
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_RVH_File:_Subbasin_ID__
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push str.__must_be_unique_integer_or_long_integer
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 9
call fcn.00402ec0
cmp dword [ebp - 0x373c], 0x10
lea ecx, [ebp - 0x3750]
mov esi, 1
cmovae ecx, dword [ebp - 0x3750]
mov edx, esi
call fcn.004c4d70
jmp 0x4d6506
mov esi, 1
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7d0]
call fcn.0040f4d0
call fcn.0040c430
movsd xmm1, qword [0x5baa78]
add esp, 0x18
comisd xmm0, xmm1
mov al, byte [ebp - 0x37f9]
movsd qword [ebp - 0x3830], xmm0
jbe 0x4d657e
test al, al
jne 0x4d6560
mov edx, esi
mov ecx, str.ParseHRUPropsFile:_length_of_river_greater_than_2000km_in_:SubBasins_command_block._Units_issue__Reach_length_should_be_provided_in_km.
call fcn.004c4d70
movsd xmm0, qword [ebp - 0x3830]
movsd xmm1, qword [0x5baa78]
mov al, byte [ebp - 0x37f9]
comisd xmm0, xmm1
jbe 0x4d657e
test al, al
jne 0x4d657e
mov edx, esi
mov ecx, str.ParseHRUPropsFile:_length_of_conduit_greater_than_2000km_in_:Conduits_command_block._Units_issue__Conduit_length_should_be_provided_in_km.
call fcn.004c4d70
movsd xmm0, qword [ebp - 0x3830]
ucomisd xmm0, qword [0x5bad40]
lahf
test ah, 0x44
jnp 0x4d659c
mulsd xmm0, qword [0x5baa20]
movsd qword [ebp - 0x3830], xmm0
push dword [ebp - 0x7cc]
call fcn.005484b0
fstp qword [ebp - 0x381c]
cvttsd2si eax, qword [ebp - 0x381c]
add esp, 4
test eax, eax
setne byte [ebp - 0x387c]
cmp dword [ebp - 0x3810], 7
jne 0x4d65e4
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7c8]
call fcn.0040f4d0
call fcn.0040c430
add esp, 0x18
jmp 0x4d65ec
movsd xmm0, qword [0x5bad40]
push 0x190
movsd qword [ebp - 0x381c], xmm0
call fcn.0051fa77
mov esi, eax
add esp, 4
mov dword [ebp - 0x386c], esi
push dword [ebp - 0x385c]
mov byte [ebp - 4], 0x10
push dword [ebp - 0x387c]
movsd xmm0, qword [ebp - 0x381c]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x3830]
movsd qword [esp], xmm0
push edi
push dword [ebp - 0x7d8]
call fcn.005484b0
mov edi, dword [ebp - 0x3800]
add esp, 4
fstp qword [ebp - 0x3830]
cvttsd2si eax, qword [ebp - 0x3830]
push eax
push dword [edi]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7dc]
call fcn.0040f4d0
push dword [ebp - 0x7e0]
call fcn.005484b0
fstp qword [ebp - 0x3830]
cvttsd2si eax, qword [ebp - 0x3830]
add esp, 4
mov ecx, esi
push eax
call fcn.00488c20
mov esi, eax
mov byte [ebp - 4], 9
test esi, esi
jne 0x4d66a8
lea edx, [eax + 6]
mov ecx, str.ParseHRUPropsFile
call fcn.004c4d70
mov ecx, dword [edi]
push esi
call fcn.004bf110
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x36dc]
cmp ecx, 0x10
jb 0x4d66ee
mov edx, dword [ebp - 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d66e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x373c]
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0xf
mov byte [ebp - 0x36f0], 0
cmp ecx, 0x10
jb 0x4d60f2
mov edx, dword [ebp - 0x3750]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d6741
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
jmp 0x4d60f2
mov ecx, str.:HRUs
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6777
test dl, dl
je 0x4d6773
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6777
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6757
xor eax, eax
jmp 0x4d677c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d7588
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d67ab
mov edx, str.HRU_data...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
test esi, esi
je 0x4d67ed
mov eax, str.:EndHRUs
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x4d67e0
test cl, cl
je 0x4d67dc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x4d67e0
add edi, 2
add eax, 2
test cl, cl
jne 0x4d67c0
xor eax, eax
jmp 0x4d67e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
cmp byte [ebp - 0x37fb], 0
jne 0x4da7f1
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov edi, dword [ebp - 0x7e0]
mov ecx, edi
mov esi, dword [ebp - 0x3810]
mov edx, esi
mov byte [ebp - 0x37fb], al
mov dword [ebp - 0x3808], edi
call fcn.0040bf40
test al, al
jne 0x4d67b7
mov ecx, str.:Attributes
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6863
test dl, dl
je 0x4d685f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6863
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6843
xor eax, eax
jmp 0x4d6868
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d67b7
mov ecx, str.:Units
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d6897
test dl, dl
je 0x4d6893
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d6897
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6877
xor eax, eax
jmp 0x4d689c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d67b7
mov ecx, str.:EndHRUs
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d68d0
test dl, dl
je 0x4d68cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d68d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d68b0
xor eax, eax
jmp 0x4d68d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d67b7
cmp esi, 0xd
jge 0x4d68f4
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov dword [ebp - 0x3708], 0
mov dword [ebp - 0x36f8], 0
mov dword [ebp - 0x36f4], 0xf
mov byte [ebp - 0x3708], 0
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x7cc]
push esi
call fcn.005484b0
push 0xa
lea eax, [ebp - 0x3878]
push eax
push edi
fstp qword [ebp - 0x3830]
call fcn.0054d89b
mov eax, dword [ebp - 0x3878]
add esp, 0x10
cmp byte [eax], 0
je 0x4d69dd
push edi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_HRU_ID__
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push str.__in_:HRUs_table_must_be_unique_integer_or_long_integer
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edi, 1
cmovae ecx, dword [ebp - 0x3708]
mov edx, edi
call fcn.004c4d70
jmp 0x4d69e2
mov edi, 1
push 0xa
lea eax, [ebp - 0x3874]
push eax
push esi
call fcn.0054d89b
mov eax, dword [ebp - 0x3874]
add esp, 0xc
cmp byte [eax], 0
je 0x4d6a89
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_Subbasin_ID__
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push 0x5ad020
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edx, edi
cmovae ecx, dword [ebp - 0x3708]
call fcn.004c4d70
push dword [ebp - 0x7d4]
call fcn.005484b0
fstp qword [ebp - 0x381c]
movsd xmm0, qword [ebp - 0x381c]
add esp, 4
andps xmm0, xmmword [0x5bae60]
comisd xmm0, xmmword [0x5ba850]
ja 0x4d6ae7
push dword [ebp - 0x7d0]
call fcn.005484b0
fstp qword [ebp - 0x381c]
movsd xmm0, qword [ebp - 0x381c]
add esp, 4
andps xmm0, xmmword [0x5bae60]
comisd xmm0, xmmword [0x5ba8f0]
jbe 0x4d6bf3
lea edx, [ebp - 0x7e0]
lea ecx, [ebp - 0x3738]
call fcn.0045fc80
push eax
mov edx, str.Parse_HRU_File:_longitude_and_latitude_in_:HRUs_table__HRU
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push str.__must_be_valid___90_lat_90___180_lon_180_
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x3708]
cmp eax, esi
je 0x4d6bb3
mov ecx, dword [ebp - 0x36f4]
cmp ecx, 0x10
jb 0x4d6b70
mov edx, dword [ebp - 0x3708]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d6b66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov dword [ebp - 0x36f8], 0
mov dword [ebp - 0x36f4], 0xf
mov byte [ebp - 0x3708], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x3708], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x36f8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edx, edi
cmovae ecx, dword [ebp - 0x3708]
call fcn.004c4d70
mov esi, dword [ebp - 0x7b4]
push esi
call fcn.005484b0
fstp qword [ebp - 0x381c]
movsd xmm0, qword [ebp - 0x381c]
add esp, 4
comisd xmm0, xmmword [0x5ba850]
ja 0x4d6c3a
push esi
call fcn.005484b0
xorps xmm0, xmm0
add esp, 4
fstp qword [ebp - 0x381c]
comisd xmm0, xmmword [ebp - 0x381c]
jbe 0x4d6d46
lea edx, [ebp - 0x7e0]
lea ecx, [ebp - 0x3738]
call fcn.0045fc80
push eax
mov edx, str.Parse_HRU_File:_slope_in_:HRUs_table__HRU
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push str.__must_be_valid__0_slope_90_
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x3708]
cmp eax, esi
je 0x4d6d06
mov ecx, dword [ebp - 0x36f4]
cmp ecx, 0x10
jb 0x4d6cc3
mov edx, dword [ebp - 0x3708]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d6cb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov dword [ebp - 0x36f8], 0
mov dword [ebp - 0x36f4], 0xf
mov byte [ebp - 0x3708], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x3708], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x36f8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edx, edi
cmovae ecx, dword [ebp - 0x3708]
call fcn.004c4d70
mov esi, dword [ebp - 0x7b0]
push esi
call fcn.005484b0
fstp qword [ebp - 0x381c]
movsd xmm0, qword [ebp - 0x381c]
add esp, 4
comisd xmm0, xmmword [0x5ba998]
ja 0x4d6d8d
push esi
call fcn.005484b0
xorps xmm0, xmm0
add esp, 4
fstp qword [ebp - 0x381c]
comisd xmm0, xmmword [ebp - 0x381c]
jbe 0x4d6e18
lea edx, [ebp - 0x7e0]
lea ecx, [ebp - 0x3738]
call fcn.0045fc80
push eax
mov edx, str.Parse_HRU_File:_aspect_in_:HRUs_table__HRU
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push str.__must_be_valid__0_slope_360_
mov edx, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edx, edi
cmovae ecx, dword [ebp - 0x3708]
call fcn.004c4d70
mov esi, dword [ebp - 0x7c8]
sub esp, 0x18
mov edx, esp
mov ecx, esi
mov dword [edx], 0
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d6e40
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402080
call fcn.0049d3e0
add esp, 0x18
mov dword [ebp - 0x3820], eax
test eax, eax
jne 0x4d6eee
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_Unrecognized_Land_Use_Code_index:__
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push 0x59ad54
mov edx, eax
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
cmovae ecx, dword [ebp - 0x3708]
xor edx, edx
call fcn.004c4d70
mov esi, dword [ebp - 0x7c4]
sub esp, 0x18
mov edx, esp
mov ecx, esi
mov dword [edx], 0
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d6f12
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402080
call fcn.004aa1d0
add esp, 0x18
mov dword [ebp - 0x3840], eax
test eax, eax
jne 0x4d6fc0
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_Unrecognized_Vegetation_Code_index:__
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push 0x59ad54
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
cmovae ecx, dword [ebp - 0x3708]
xor edx, edx
call fcn.004c4d70
mov esi, dword [ebp - 0x7c0]
sub esp, 0x18
mov edx, esp
mov ecx, esi
mov dword [edx], 0
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d6fe4
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402080
call fcn.004a8d00
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x3844], edi
test edi, edi
jne 0x4d7094
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_Unrecognized_Soil_Profile_Code_index:__
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push 0x59ad54
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
cmovae ecx, dword [ebp - 0x3708]
xor edx, edx
call fcn.004c4d70
mov esi, dword [ebp - 0x7b8]
mov ecx, esi
mov dword [ebp - 0x3814], 0
mov dword [ebp - 0x3738], 0
mov dword [ebp - 0x3728], 0
mov dword [ebp - 0x3724], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d70c7
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x3738]
call fcn.00402080
mov edx, str._NONE_
lea ecx, [ebp - 0x3738]
call fcn.00410fc0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 0x37fa], al
call fcn.00402ec0
cmp byte [ebp - 0x37fa], 0
je 0x4d71b5
sub esp, 0x18
mov ecx, esp
push esi
call fcn.0040f4d0
call fcn.004a92a0
add esp, 0x18
mov dword [ebp - 0x3814], eax
test eax, eax
jne 0x4d71b5
push esi
lea ecx, [ebp - 0x3738]
call fcn.0040f4d0
push eax
mov edx, str.Parse_HRU_File:_Unrecognized_Terrain_Code_index:__
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x36d8]
call fcn.00410df0
push 0x59ad54
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3720]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3708]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
cmp dword [ebp - 0x36f4], 0x10
lea ecx, [ebp - 0x3708]
mov edx, 1
cmovae ecx, dword [ebp - 0x3708]
call fcn.004c4d70
lea eax, [ebp - 0x36d8]
mov ecx, edi
push eax
call fcn.004a8680
push 4
push 0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x24
push ecx
mov ecx, eax
call fcn.0040f0f0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4d71e3
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 4
push str.LAKE
call fcn.004114b0
add esp, 8
lea ecx, [ebp - 0x3720]
mov esi, eax
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
xor eax, eax
mov ecx, edi
test esi, esi
sete al
mov dword [ebp - 0x3838], eax
lea eax, [ebp - 0x36d8]
push eax
call fcn.004a8680
push 7
push 0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x25
push ecx
mov ecx, eax
call fcn.0040f0f0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4d724c
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 7
push str.GLACIER
call fcn.004114b0
add esp, 8
lea ecx, [ebp - 0x3720]
mov esi, eax
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
mov edi, dword [ebp - 0x3838]
test esi, esi
mov ecx, dword [ebp - 0x3844]
mov eax, 2
cmove edi, eax
lea eax, [ebp - 0x36d8]
push eax
call fcn.004a8680
push 4
push 0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x26
push ecx
mov ecx, eax
call fcn.0040f0f0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4d72bc
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 4
push str.ROCK
call fcn.004114b0
add esp, 8
lea ecx, [ebp - 0x3720]
mov esi, eax
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
mov ecx, dword [ebp - 0x3844]
test esi, esi
mov eax, 4
cmove edi, eax
lea eax, [ebp - 0x36d8]
push eax
call fcn.004a8680
push 8
push 0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x27
push ecx
mov ecx, eax
call fcn.0040f0f0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4d7326
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 8
push str.PAVEMENT
call fcn.004114b0
add esp, 8
lea ecx, [ebp - 0x3720]
mov esi, eax
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
mov ecx, dword [ebp - 0x3844]
test esi, esi
mov eax, 4
cmove edi, eax
lea eax, [ebp - 0x36d8]
push eax
call fcn.004a8680
push 7
push 0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x28
push ecx
mov ecx, eax
call fcn.0040f0f0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4d7390
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 7
push str.WETLAND
call fcn.004114b0
add esp, 8
lea ecx, [ebp - 0x3720]
mov esi, eax
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x11
call fcn.00402ec0
test esi, esi
mov eax, 3
push 0x4a8
cmove edi, eax
mov dword [ebp - 0x3838], edi
call fcn.0051fa77
mov dword [ebp - 0x3884], eax
mov byte [ebp - 4], 0x29
push dword [ebp - 0x7b0]
call fcn.005484b0
push dword [ebp - 0x7b4]
fstp qword [ebp - 0x38a8]
call fcn.005484b0
push dword [ebp - 0x7d0]
fstp qword [ebp - 0x38a0]
call fcn.005484b0
push dword [ebp - 0x7d4]
fstp qword [ebp - 0x3898]
call fcn.005484b0
push dword [ebp - 0x7dc]
fstp qword [ebp - 0x3740]
call fcn.005484b0
push dword [ebp - 0x3808]
fstp qword [ebp - 0x384c]
call fcn.005484b0
push dword [ebp - 0x7d8]
fstp qword [ebp - 0x381c]
cvttsd2si edi, qword [ebp - 0x381c]
call fcn.005484b0
mov ecx, dword [ebp - 0x3800]
add esp, 0x20
mov esi, dword [ecx]
push dword [ebp - 0x3820]
movsd xmm0, qword [ebp - 0x38a8]
push dword [ebp - 0x3814]
mulsd xmm0, qword [0x5b9dc8]
push ecx
push dword [ebp - 0x3840]
cvttsd2si eax, qword [ebp - 0x3830]
mov ecx, esi
push dword [ebp - 0x3844]
fstp qword [ebp - 0x381c]
push dword [ebp - 0x3838]
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebp - 0x38a0]
mulsd xmm0, qword [0x5b9dc8]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [ebp - 0x3898]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0x3740]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x381c]
movsd qword [esp], xmm0
push eax
call fcn.004bd9a0
movsd xmm0, qword [ebp - 0x384c]
mov ecx, esi
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.004bd570
mov ecx, dword [ebp - 0x3884]
push eax
push edi
push esi
call fcn.00487950
mov esi, eax
mov byte [ebp - 4], 0x11
test esi, esi
jne 0x4d7530
lea edx, [eax + 6]
mov ecx, str.ParseHRUPropsFile
call fcn.004c4d70
mov edi, dword [ebp - 0x3800]
push esi
mov ecx, dword [edi]
call fcn.004bee20
cvttsd2si eax, qword [ebp - 0x3830]
mov ecx, dword [edi]
push eax
call fcn.004bd930
test eax, eax
je 0x4d755c
push esi
mov ecx, eax
call fcn.0048a5a0
jmp 0x4d7568
xor edx, edx
mov ecx, str.ParseHRUProps:_Bad_Sub_basin_index_in_:HRUs_command
call fcn.004c4d70
lea ecx, [ebp - 0x3708]
mov byte [ebp - 4], 3
call fcn.00402ec0
mov edi, dword [ebp - 0x3808]
mov esi, dword [ebp - 0x3810]
jmp 0x4d67b7
mov ecx, str.:Reservoir
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d75b0
test dl, dl
je 0x4d75ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d75b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7590
xor eax, eax
jmp 0x4d75b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d76b4
mov esi, dword [ebp - 0x3804]
cmp byte [esi + 0x2c9], al
je 0x4d75e3
mov edx, str.:Reservoir
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov edi, dword [ebp - 0x7dc]
lea eax, [ebp - 0x3868]
push esi
push eax
mov eax, dword [ebp - 0x3800]
sub esp, 0x18
mov esi, esp
mov ecx, edi
mov eax, dword [eax]
mov dword [ebp - 0x3820], eax
lea edx, [ecx + 1]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d7620
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.00402080
mov edx, dword [ebp - 0x3820]
mov ecx, dword [ebp - 0x3824]
call fcn.004daaf0
add esp, 0x20
mov esi, eax
mov ecx, esi
call fcn.0046c760
push eax
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd930
push dword [ebp - 0x3868]
mov edi, eax
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd6b0
push eax
mov ecx, esi
call fcn.0046d0d0
test edi, edi
je 0x4d7697
push esi
mov ecx, edi
call fcn.0048a5d0
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
xor edx, edx
mov ecx, str.ParseHRUProps:_Bad_Sub_basin_index_in_:Reservoir_command
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:SubBasinProperties
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d76e0
test dl, dl
je 0x4d76dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d76e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d76c0
xor eax, eax
jmp 0x4d76e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d7fad
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d7714
mov edx, str.___Reading_Basin_Properties...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov esi, dword [ebp - 0x7e0]
mov ecx, esi
mov edi, dword [ebp - 0x3810]
mov edx, edi
mov dword [ebp - 0x3808], esi
call fcn.0040bf40
test al, al
jne 0x4d7720
mov ecx, str.:Parameters
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7780
test dl, dl
je 0x4d777c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7780
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7760
xor eax, eax
jmp 0x4d7785
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d77e4
xor esi, esi
test edi, edi
jle 0x4d77da
lea edi, [ebp - 0x36c0]
nop word [eax + eax]
mov edx, dword [ebp + esi*4 - 0x7e0]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3820], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d77b2
sub ecx, dword [ebp - 0x3820]
push ecx
push edx
mov ecx, edi
call fcn.00402080
inc esi
add edi, 0x18
cmp esi, dword [ebp - 0x3810]
jl 0x4d77a0
mov edi, dword [ebp - 0x3810]
mov ecx, edi
mov dword [ebp - 0x3854], ecx
jmp 0x4d77fc
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov ecx, dword [ebp - 0x3854]
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d784f
cmp ecx, 1
jle 0x4d784f
lea esi, [ebp - 0x36a8]
lea edi, [ecx - 1]
nop dword [eax]
mov edx, 0x59b6b0
mov ecx, 0x5d6660
call fcn.00411000
mov edx, esi
mov ecx, eax
call fcn.00411260
push eax
call fcn.00411280
add esp, 4
add esi, 0x18
sub edi, 1
jne 0x4d7820
mov edi, dword [ebp - 0x3810]
mov esi, dword [ebp - 0x3808]
test edi, edi
je 0x4d788d
mov eax, str.:EndSubBasinProperties
nop
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d7880
test cl, cl
je 0x4d787c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d7880
add esi, 2
add eax, 2
test cl, cl
jne 0x4d7860
xor eax, eax
jmp 0x4d7885
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov esi, dword [ebp - 0x7e0]
mov ecx, esi
mov edi, dword [ebp - 0x3810]
mov edx, edi
mov dword [ebp - 0x3808], esi
call fcn.0040bf40
test al, al
jne 0x4d7855
mov ecx, str.:RedirectToFile
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d78f0
test dl, dl
je 0x4d78ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d78f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d78d0
xor eax, eax
jmp 0x4d78f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d790b
lea edx, [eax + 1]
mov ecx, str.Parse_HRU_File:_:RedirectToFile_cannot_be_inside_a_:SubBasinProperties_block.
call fcn.004c4d70
jmp 0x4d7855
mov ecx, str.:EndSubBasinProperties
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7932
test dl, dl
je 0x4d792e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7932
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7912
xor eax, eax
jmp 0x4d7937
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d7855
mov ecx, str.:Units
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7966
test dl, dl
je 0x4d7962
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7966
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7946
xor eax, eax
jmp 0x4d796b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d7855
cmp edi, dword [ebp - 0x3854]
jge 0x4d7987
xor edx, edx
mov ecx, str.Parse_HRU_File:_incorrect_number_of_terms_in_SubBasin_properties
call fcn.004c4d70
push esi
call fcn.005484b0
mov eax, dword [ebp - 0x3800]
add esp, 4
fstp qword [ebp - 0x384c]
cvttsd2si esi, qword [ebp - 0x384c]
mov ecx, dword [eax]
push esi
call fcn.004bd930
mov dword [ebp - 0x3840], eax
test eax, eax
je 0x4d7da8
mov esi, dword [ebp - 0x3808]
mov eax, 1
mov dword [ebp - 0x3814], eax
cmp dword [ebp - 0x3854], eax
jle 0x4d7855
lea esi, [ebp - 0x36a8]
nop dword [eax]
mov edi, dword [ebp + eax*4 - 0x7e0]
sub esp, 0x18
mov edx, esp
mov ecx, edi
lea eax, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov dword [ebp - 0x3820], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d7a10
sub ecx, dword [ebp - 0x3820]
push ecx
push edi
mov ecx, edx
call fcn.00402080
call fcn.0040c430
add esp, 0x18
movsd qword [ebp - 0x3830], xmm0
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4d7a40
mov ecx, dword [esi]
mov edi, dword [esi + 0x10]
mov edx, edi
push 9
push str.TIME_CONC
call fcn.004114b0
movsd xmm1, qword [0x5bad40]
add esp, 8
movsd xmm2, qword [0x5bad50]
test eax, eax
jne 0x4d7acc
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4d7acc
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4d7acc
sub esp, 0x18
mov ecx, esp
push 0xe
push str.TOC_MULTIPLIER
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
call fcn.0044acf0
mulsd xmm0, qword [ebp - 0x3830]
add esp, 0x18
mov edx, dword [esi + 0x10]
movsd xmm1, qword [0x5bad40]
movsd xmm2, qword [0x5bad50]
movsd qword [ebp - 0x3830], xmm0
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4d7ad6
mov ecx, dword [esi]
push 0xc
push str.TIME_TO_PEAK
call fcn.004114b0
add esp, 8
mov ecx, edx
test eax, eax
jne 0x4d7b3f
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4d7b3f
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4d7b3f
sub esp, 0x18
mov ecx, esp
push 0xe
push str.TOC_MULTIPLIER
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
call fcn.0044acf0
mulsd xmm0, qword [ebp - 0x3830]
add esp, 0x18
mov ecx, dword [esi + 0x10]
movsd qword [ebp - 0x3830], xmm0
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x4d7b49
mov eax, dword [esi]
push 0xc
mov edx, ecx
mov ecx, eax
push str.REACH_HRU_ID
call fcn.004114b0
add esp, 8
test eax, eax
jne 0x4d7b99
mov eax, dword [ebp - 0x3800]
cvttsd2si edi, xmm0
mov ecx, dword [eax]
push edi
call fcn.004bd6b0
test eax, eax
je 0x4d7d92
mov eax, dword [ebp - 0x3800]
push edi
mov ecx, dword [eax]
call fcn.004bd6b0
movd xmm0, dword [eax + 8]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x3830], xmm0
mov edi, 1
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00402f10
mov ecx, dword [ebp - 0x3840]
lea eax, [ebp - 0x3830]
push eax
call fcn.0048a640
test al, al
jne 0x4d7d71
mov dword [ebp - 0x3798], 0
mov dword [ebp - 0x3788], 0
mov dword [ebp - 0x3784], 0xf
mov byte [ebp - 0x3798], al
mov byte [ebp - 4], 0x2a
mov eax, 0x7fffffff
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 0x13
jb 0x4daae6
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x4d7c08
mov eax, dword [esi]
push ecx
push eax
push 0x13
push str.Unknown_parameter__
push ecx
push dword [ebp - 0x386c]
lea ecx, [ebp - 0x36d8]
call fcn.00412290
or dword [ebp - 0x380c], 0x100
push 0x20
push str.__in_:SubBasinProperties_command
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x2b
call fcn.00410670
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x380c]
mov ecx, dword [ebp - 0x3784]
or eax, 0x80
movq qword [ebp - 0x384c], xmm1
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
movups xmmword [ebp - 0x3748], xmm0
cmp ecx, 0x10
jb 0x4d7ccb
mov edx, dword [ebp - 0x3798]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d7cb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
movups xmm0, xmmword [ebp - 0x3748]
add esp, 8
movq xmm1, qword [ebp - 0x384c]
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x36c4]
movq qword [ebp - 0x3788], xmm1
movups xmmword [ebp - 0x3798], xmm0
cmp ecx, 0x10
jb 0x4d7d18
mov edx, dword [ebp - 0x36d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d7d0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
cmp dword [ebp - 0x3784], 0x10
lea ecx, [ebp - 0x3798]
mov edx, edi
cmovae ecx, dword [ebp - 0x3798]
call fcn.004c4d70
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3784]
cmp ecx, 0x10
jb 0x4d7d71
mov edx, dword [ebp - 0x3798]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d7d67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov eax, dword [ebp - 0x3814]
add esi, 0x18
inc eax
mov dword [ebp - 0x3814], eax
cmp eax, dword [ebp - 0x3854]
jl 0x4d79e0
jmp 0x4d7849
mov edi, 1
mov ecx, str.ParseHRUPropsFile::invalid_REACH_HRU_ID_in_:SubBasinProperties_command
mov edx, edi
call fcn.004c4d70
jmp 0x4d7b9e
mov dword [ebp - 0x37b0], 0
mov dword [ebp - 0x37a0], 0
mov dword [ebp - 0x379c], 0xf
mov byte [ebp - 0x37b0], 0
mov edx, esi
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x36d8]
call fcn.00423830
mov esi, dword [ebp - 0x380c]
or esi, 0x400
push 9
push str.Subbasin
push 0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x2d
call fcn.004103e0
mov dword [ebp - 0x36f0], 0
or esi, 0x800
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x36f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x36e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x2d
push str._not_in_model__cannot_set_subbasin_properties
lea ecx, [ebp - 0x36f0]
mov byte [ebp - 4], 0x2e
call fcn.00410670
or esi, 0x1000
lea ecx, [ebp - 0x37e0]
mov dword [ebp - 0x380c], esi
mov dword [ebp - 0x383c], esi
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x37d0], xmm0
movups xmmword [ebp - 0x37e0], xmm1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
movups xmmword [ebp - 0x37b0], xmm1
mov dword [ebp - 0x37d0], 0
movq qword [ebp - 0x37a0], xmm0
mov dword [ebp - 0x37cc], 0xf
mov byte [ebp - 0x37e0], 0
call fcn.00402ec0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x36dc]
cmp ecx, 0x10
jb 0x4d7f11
mov edx, dword [ebp - 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d7f07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
lea ecx, [ebp - 0x36d8]
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0xf
mov byte [ebp - 0x36f0], 0
mov byte [ebp - 4], 0x2c
call fcn.00402ec0
sub esp, 0x18
lea eax, [ebp - 0x37b0]
mov ecx, esp
push eax
call fcn.00402f10
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
mov byte [ebp - 4], 3
add esp, 0x18
mov ecx, dword [ebp - 0x379c]
mov esi, dword [ebp - 0x3808]
cmp ecx, 0x10
jb 0x4d7855
mov edx, dword [ebp - 0x37b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d7f9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
jmp 0x4d784f
mov ecx, str.:HRUGroup
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7fd4
test dl, dl
je 0x4d7fd0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7fd4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7fb4
xor eax, eax
jmp 0x4d7fd9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d86b7
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d8008
mov edx, str.___HRU_Group...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
cmp esi, 2
je 0x4d801f
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov edi, dword [ebp - 0x7dc]
sub esp, 0x18
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8043
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd710
mov esi, eax
mov dword [ebp - 0x3840], esi
test esi, esi
jne 0x4d80ee
sub esp, 0x18
mov ecx, esp
push 0x79
push str.HRU_groups_should_ideally_be_defined_in_.rvi_file__using_:DefineHRUGroup_s__commands__before_being_populated_in_.rvh_file
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0xf
call fcn.00402080
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040c240
push 0x28
call fcn.0051fa77
mov esi, eax
add esp, 0x1c
mov dword [ebp - 0x3870], esi
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 0x2f
mov ecx, dword [eax]
call fcn.004bd580
push eax
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040f4d0
mov ecx, esi
call fcn.00452640
mov dword [ebp - 0x3840], eax
push eax
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 3
mov ecx, dword [eax]
call fcn.004bee50
mov al, byte [ebp - 0x37fa]
mov edi, dword [ebp - 0x3810]
mov byte [ebp - 0x37f9], al
mov esi, dword [ebp - 0x3808]
test edi, edi
je 0x4d813d
mov eax, str.:EndHRUGroup
nop
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d8130
test cl, cl
je 0x4d812c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d8130
add esi, 2
add eax, 2
test cl, cl
jne 0x4d8110
xor eax, eax
jmp 0x4d8135
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov esi, dword [ebp - 0x7e0]
mov ecx, esi
mov edi, dword [ebp - 0x3810]
mov edx, edi
mov dword [ebp - 0x3808], esi
call fcn.0040bf40
test al, al
jne 0x4d8106
mov ecx, str.:EndHRUGroup
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d81a0
test dl, dl
je 0x4d819c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d81a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8180
xor eax, eax
jmp 0x4d81a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d8106
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd570
mov esi, eax
xor eax, eax
mov dword [ebp - 0x3838], esi
mov dword [ebp - 0x3820], eax
test edi, edi
jle 0x4d8100
lea ecx, [ebp - 0x3850]
push ecx
mov ecx, dword [ebp + eax*4 - 0x7e0]
lea edx, [ebp - 0x3860]
call fcn.004d5620
mov eax, dword [ebp - 0x3850]
add esp, 4
mov edi, dword [ebp - 0x3860]
sub eax, edi
mov dword [ebp - 0x3818], eax
cmp eax, 0x2710
jle 0x4d8215
xor edx, edx
mov ecx, str.Parsing_:HRUGroup_command:_invalid_range_of_HRU_indices
call fcn.004c4d70
xor al, al
mov dword [ebp - 0x3814], edi
mov dword [ebp - 0x3844], eax
cmp edi, dword [ebp - 0x3850]
jg 0x4d867e
mov ecx, dword [ebp - 0x3850]
xor edx, edx
test esi, esi
jle 0x4d8269
mov eax, dword [ebp - 0x3800]
mov esi, dword [eax]
push edx
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 4], edi
je 0x4d869e
inc edx
cmp edx, dword [ebp - 0x3838]
jl 0x4d8243
mov eax, dword [ebp - 0x3844]
mov ecx, dword [ebp - 0x3850]
cmp dword [ebp - 0x3818], 1
mov edx, 1
movzx eax, al
cmovg eax, edx
mov dword [ebp - 0x3844], eax
cmp dword [ebp - 0x3860], ecx
jne 0x4d8626
mov ecx, dword [ebp - 0x3840]
lea eax, [ebp - 0x36d8]
push eax
call fcn.00452790
mov esi, eax
mov edx, edi
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x3738]
call fcn.00410d60
or dword [ebp - 0x380c], 0x10
push 7
push str.HRU_ID
push 0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x31
call fcn.004103e0
or dword [ebp - 0x380c], 0x20
mov dword [ebp - 0x36f0], 0
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x36f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x36e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x2a
push str._specified_in_:HRUGroup_command_for_group
lea ecx, [ebp - 0x36f0]
mov byte [ebp - 4], 0x32
call fcn.00410670
or dword [ebp - 0x380c], 8
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x37f8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x37e8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push esi
lea eax, [ebp - 0x37f8]
mov byte [ebp - 4], 0x33
push eax
push dword [ebp - 0x3870]
lea ecx, [ebp - 0x3750]
call fcn.0041e870
or dword [ebp - 0x380c], 0x40
push 0xf
push str._does_not_exist
lea ecx, [ebp - 0x3750]
mov byte [ebp - 4], 0x34
call fcn.00410670
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x37c8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x380c]
or eax, 4
movq qword [ebp - 0x37b8], xmm0
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x373c]
cmp ecx, 0x10
jb 0x4d8418
mov edx, dword [ebp - 0x3750]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d840e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov dword [ebp - 0x3740], 0
mov dword [ebp - 0x373c], 0xf
mov byte [ebp - 0x3750], 0
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x37e4]
cmp ecx, 0x10
jb 0x4d8471
mov edx, dword [ebp - 0x37f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d8467
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x36dc]
cmp ecx, 0x10
jb 0x4d84af
mov edx, dword [ebp - 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d84a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0xf
mov byte [ebp - 0x36f0], 0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x3724]
cmp ecx, 0x10
jb 0x4d8508
mov edx, dword [ebp - 0x3738]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d84fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov dword [ebp - 0x3728], 0
mov dword [ebp - 0x3724], 0xf
mov byte [ebp - 0x3738], 0
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x36c4]
cmp ecx, 0x10
jb 0x4d8561
mov edx, dword [ebp - 0x36d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d8557
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
cmp dword [ebp - 0x37b4], 0x10
lea edx, [ebp - 0x37c8]
mov dword [ebp - 0x36c8], 0
cmovae edx, dword [ebp - 0x37c8]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x36c4], 0xf
mov ecx, edx
mov byte [ebp - 0x36d8], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d85b0
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.00402080
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
mov byte [ebp - 4], 3
add esp, 0x18
mov ecx, dword [ebp - 0x37b4]
cmp ecx, 0x10
jb 0x4d8614
mov edx, dword [ebp - 0x37c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d860a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov edi, dword [ebp - 0x3814]
mov eax, dword [ebp - 0x3844]
mov ecx, dword [ebp - 0x3850]
mov esi, dword [ebp - 0x3838]
inc edi
mov dword [ebp - 0x3814], edi
cmp edi, ecx
jle 0x4d8235
test al, al
je 0x4d8678
sub esp, 0x18
mov ecx, esp
push 0x2d
push str.Range_specified_in_:HRUGroup_command_has_gaps
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
add esp, 0x18
mov esi, dword [ebp - 0x3838]
mov eax, dword [ebp - 0x3820]
mov edi, dword [ebp - 0x3810]
inc eax
mov dword [ebp - 0x3820], eax
cmp eax, edi
jl 0x4d81d2
jmp 0x4d8100
push edx
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3840]
push eax
call fcn.00452830
jmp 0x4d861a
mov ecx, str.:PopulateHRUGroup
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d86e0
test dl, dl
je 0x4d86dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d86e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d86c0
xor eax, eax
jmp 0x4d86e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d937a
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d8714
mov edx, str.___Populate_HRU_Group...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
cmp esi, 6
jge 0x4d872b
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov edi, dword [ebp - 0x7dc]
sub esp, 0x18
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8750
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd710
mov dword [ebp - 0x3808], eax
test eax, eax
jne 0x4d87fb
sub esp, 0x18
mov ecx, esp
push 0x7d
push str.HRU_groups_should_ideally_be_defined_in_.rvi_file__using_:DefineHRUGroup_s__commands__before_being_populated_in_.rvh_file__2_
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0xf
call fcn.00402080
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
push 0x28
call fcn.0051fa77
mov esi, eax
add esp, 0x1c
mov dword [ebp - 0x388c], esi
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 0x3b
mov ecx, dword [eax]
call fcn.004bd580
push eax
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040f4d0
mov ecx, esi
call fcn.00452640
mov edi, dword [ebp - 0x3800]
mov byte [ebp - 4], 3
push eax
mov dword [ebp - 0x3808], eax
mov ecx, dword [edi]
call fcn.004bee50
jmp 0x4d8801
mov edi, dword [ebp - 0x3800]
mov esi, dword [ebp - 0x7d4]
mov ecx, str.HRUS
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8830
test dl, dl
je 0x4d882c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8830
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8810
xor eax, eax
jmp 0x4d8835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d8a61
mov edx, dword [ebp - 0x7d0]
mov ecx, str.NOTWITHIN
mov dword [ebp - 0x3820], edx
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x37fb], dl
mov edx, dword [ebp - 0x3820]
jne 0x4d8892
cmp byte [ebp - 0x37fb], 0
je 0x4d888e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x37fb], dl
mov edx, dword [ebp - 0x3820]
jne 0x4d8892
add eax, 2
add ecx, 2
cmp byte [ebp - 0x37fb], 0
jne 0x4d8850
xor eax, eax
jmp 0x4d8897
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d894f
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7cc]
call fcn.0040f4d0
mov ecx, dword [edi]
call fcn.004bd710
mov edx, eax
mov dword [ebp - 0x3818], edx
test edx, edx
jne 0x4d88e0
lea edx, [eax + 1]
mov ecx, str.:PopulateHRUGroup:_invalid_HRU_group_reference_used_in_command
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov al, byte [ebp - 0x37fa]
xor esi, esi
mov edi, dword [edi]
mov ecx, edi
mov byte [ebp - 0x37f9], al
call fcn.004bd570
test eax, eax
jle 0x4da7f1
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
nop dword [eax + eax]
push esi
mov ecx, edx
call fcn.004527c0
test al, al
jne 0x4d8930
push esi
mov ecx, edi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
inc esi
mov edi, dword [eax]
mov ecx, edi
call fcn.004bd570
mov edx, dword [ebp - 0x3818]
cmp esi, eax
jl 0x4d8910
jmp 0x4da7f1
mov eax, str.WITHIN_SBGROUP
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x4d8974
test cl, cl
je 0x4d8970
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x4d8974
add edx, 2
add eax, 2
test cl, cl
jne 0x4d8954
xor eax, eax
jmp 0x4d8979
sbb eax, eax
or eax, 1
mov cl, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], cl
test eax, eax
jne 0x4da7f1
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7cc]
call fcn.0040f4d0
mov ecx, dword [edi]
call fcn.004bddd0
mov ecx, eax
mov dword [ebp - 0x3814], ecx
test ecx, ecx
jne 0x4d89ce
lea edx, [eax + 1]
mov ecx, str.:PopulateHRUGroup:_invalid_Subbasin_group_reference_used_in_command
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov dl, byte [ebp - 0x37fa]
xor edi, edi
mov byte [ebp - 0x37f9], dl
call fcn.0043ef70
test eax, eax
jle 0x4da7f1
mov byte [ebp - 0x37f9], dl
nop
push edi
xor esi, esi
call fcn.0043eff0
mov ecx, eax
call fcn.00489720
test eax, eax
jle 0x4d8a4c
mov ecx, dword [ebp - 0x3814]
push esi
push edi
call fcn.0043eff0
mov ecx, eax
call fcn.00489730
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd6b0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov ecx, dword [ebp - 0x3814]
inc esi
push edi
call fcn.0043eff0
mov ecx, eax
call fcn.00489720
cmp esi, eax
jl 0x4d8a03
mov ecx, dword [ebp - 0x3814]
inc edi
call fcn.0043ef70
cmp edi, eax
jl 0x4d89f0
jmp 0x4da7f1
mov ecx, str.LANDUSE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8a88
test dl, dl
je 0x4d8a84
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8a88
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8a68
xor eax, eax
jmp 0x4d8a8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d8c3a
mov esi, dword [ebp - 0x7d0]
mov ecx, str.EQUALS
mov dword [ebp - 0x3820], esi
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8ac8
test dl, dl
je 0x4d8ac4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8ac8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8aa8
xor eax, eax
jmp 0x4d8acd
sbb eax, eax
or eax, 1
mov dl, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dl
test eax, eax
jne 0x4d8b8f
mov ecx, dword [edi]
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.004bd570
test eax, eax
jle 0x4d8b89
mov byte [ebp - 0x37f9], dl
nop
lea edx, [ebp - 0x7cc]
lea ecx, [ebp - 0x3720]
call fcn.0045fc80
mov ecx, dword [edi]
mov edx, eax
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.00488450
cmp dword [edx + 0x14], 0x10
mov edi, edx
jb 0x4d8b2c
mov edi, dword [edx]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x4d8b36
mov ecx, dword [eax]
push dword [edx + 0x10]
mov edx, dword [eax + 0x10]
push edi
call fcn.00412870
add esp, 8
mov byte [ebp - 0x37fb], al
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
cmp byte [ebp - 0x37fb], 0
mov edi, dword [ebp - 0x3800]
je 0x4d8b79
mov ecx, dword [edi]
push esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov ecx, dword [edi]
inc esi
call fcn.004bd570
cmp esi, eax
jl 0x4d8b00
mov esi, dword [ebp - 0x3820]
mov eax, str.DOESNTEQUAL
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d8bb4
test cl, cl
je 0x4d8bb0
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d8bb4
add esi, 2
add eax, 2
test cl, cl
jne 0x4d8b94
xor eax, eax
jmp 0x4d8bb9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da7f1
mov ecx, dword [edi]
xor esi, esi
call fcn.004bd570
test eax, eax
jle 0x4da7f1
lea edx, [ebp - 0x7cc]
lea ecx, [ebp - 0x3720]
call fcn.0045fc80
mov ecx, dword [edi]
mov edx, eax
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.00488450
mov ecx, eax
call fcn.0047d390
lea ecx, [ebp - 0x3720]
mov byte [ebp - 0x37fb], al
call fcn.00402ec0
cmp byte [ebp - 0x37fb], 0
je 0x4d8c29
mov ecx, dword [edi]
push esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov ecx, dword [edi]
inc esi
call fcn.004bd570
cmp esi, eax
jl 0x4d8bd2
jmp 0x4da7f1
mov ecx, str.VEGETATION
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8c61
test dl, dl
je 0x4d8c5d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8c61
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8c41
xor eax, eax
jmp 0x4d8c66
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d8e1a
mov esi, dword [ebp - 0x7d0]
mov ecx, str.EQUALS
mov dword [ebp - 0x3820], esi
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8ca1
test dl, dl
je 0x4d8c9d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8ca1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8c81
xor eax, eax
jmp 0x4d8ca6
sbb eax, eax
or eax, 1
mov dl, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dl
test eax, eax
jne 0x4d8d6f
mov ecx, dword [edi]
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.004bd570
test eax, eax
jle 0x4d8d69
mov byte [ebp - 0x37f9], dl
nop word [eax + eax]
lea edx, [ebp - 0x7cc]
lea ecx, [ebp - 0x3720]
call fcn.0045fc80
mov ecx, dword [edi]
mov edx, eax
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.00488430
cmp dword [edx + 0x14], 0x10
mov edi, edx
jb 0x4d8d0c
mov edi, dword [edx]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x4d8d16
mov ecx, dword [eax]
push dword [edx + 0x10]
mov edx, dword [eax + 0x10]
push edi
call fcn.00412870
add esp, 8
mov byte [ebp - 0x37fb], al
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
cmp byte [ebp - 0x37fb], 0
mov edi, dword [ebp - 0x3800]
je 0x4d8d59
mov ecx, dword [edi]
push esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov ecx, dword [edi]
inc esi
call fcn.004bd570
cmp esi, eax
jl 0x4d8ce0
mov esi, dword [ebp - 0x3820]
mov eax, str.DOESNTEQUAL
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d8d94
test cl, cl
je 0x4d8d90
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d8d94
add esi, 2
add eax, 2
test cl, cl
jne 0x4d8d74
xor eax, eax
jmp 0x4d8d99
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da7f1
mov ecx, dword [edi]
xor esi, esi
call fcn.004bd570
test eax, eax
jle 0x4da7f1
lea edx, [ebp - 0x7cc]
lea ecx, [ebp - 0x3720]
call fcn.0045fc80
mov ecx, dword [edi]
mov edx, eax
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.00488430
mov ecx, eax
call fcn.0047d390
lea ecx, [ebp - 0x3720]
mov byte [ebp - 0x37fb], al
call fcn.00402ec0
cmp byte [ebp - 0x37fb], 0
je 0x4d8e09
mov ecx, dword [edi]
push esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov ecx, dword [edi]
inc esi
call fcn.004bd570
cmp esi, eax
jl 0x4d8db2
jmp 0x4da7f1
mov ecx, str.ELEVATION
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8e41
test dl, dl
je 0x4d8e3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8e41
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8e21
xor eax, eax
jmp 0x4d8e46
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d8f56
mov eax, dword [ebp - 0x7d0]
mov ecx, str.BETWEEN
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8e80
test dl, dl
je 0x4d8e7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8e80
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8e60
xor eax, eax
jmp 0x4d8e85
sbb eax, eax
or eax, 1
mov dl, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dl
test eax, eax
jne 0x4da7f1
mov ecx, dword [edi]
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.004bd570
test eax, eax
jle 0x4da7f1
mov edi, dword [ebp - 0x7cc]
mov byte [ebp - 0x37f9], dl
nop dword [eax]
push edi
call fcn.005484b0
mov eax, dword [ebp - 0x3800]
add esp, 4
fstp qword [ebp - 0x384c]
mov ecx, dword [eax]
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.004883a0
comisd xmm0, xmmword [ebp - 0x384c]
jb 0x4d8f3b
push dword [ebp - 0x7c8]
call fcn.005484b0
mov eax, dword [ebp - 0x3800]
add esp, 4
fstp qword [ebp - 0x384c]
mov edx, dword [eax]
mov ecx, edx
push esi
call fcn.004bd6a0
mov ecx, eax
call fcn.004883a0
movsd xmm1, qword [ebp - 0x384c]
comisd xmm1, xmm0
jbe 0x4d8f3b
push esi
mov ecx, edx
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
inc esi
mov ecx, dword [eax]
call fcn.004bd570
cmp esi, eax
jl 0x4d8ec0
jmp 0x4da7f1
mov eax, str.HRUTYPE
nop dword [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d8f80
test cl, cl
je 0x4d8f7c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d8f80
add esi, 2
add eax, 2
test cl, cl
jne 0x4d8f60
xor eax, eax
jmp 0x4d8f85
sbb eax, eax
or eax, 1
mov dh, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dh
test eax, eax
jne 0x4da7f1
mov eax, dword [ebp - 0x7d0]
mov ecx, str.EQUALS
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d8fc4
test dl, dl
je 0x4d8fc0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d8fc4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8fa4
xor eax, eax
jmp 0x4d8fc9
sbb eax, eax
or eax, 1
mov byte [ebp - 0x37f9], dh
test eax, eax
jne 0x4d9195
mov eax, dword [ebp - 0x3800]
xor edi, edi
mov byte [ebp - 0x37f9], dh
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd570
test eax, eax
jle 0x4d9195
mov byte [ebp - 0x37f9], dh
nop dword [eax]
push edi
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 4
jne 0x4d905d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.ROCK
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9040
test dl, dl
je 0x4d903c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9040
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9020
xor eax, eax
jmp 0x4d9045
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d905d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 4
jne 0x4d90bd
mov eax, dword [ebp - 0x7d0]
mov ecx, str.PAVEMENT
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d90a0
test dl, dl
je 0x4d909c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d90a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9080
xor eax, eax
jmp 0x4d90a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d90bd
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 2
jne 0x4d911d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.GLACIER
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9100
test dl, dl
je 0x4d90fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9100
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d90e0
xor eax, eax
jmp 0x4d9105
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d911d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 1
jne 0x4d917d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.LAKE
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9160
test dl, dl
je 0x4d915c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9160
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9140
xor eax, eax
jmp 0x4d9165
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d917d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
inc edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd570
cmp edi, eax
jl 0x4d9000
mov eax, dword [ebp - 0x7d0]
mov ecx, str.DOESNTEQUAL
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d91c0
test dl, dl
je 0x4d91bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d91c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d91a0
xor eax, eax
jmp 0x4d91c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da7f1
mov eax, dword [ebp - 0x3800]
xor edi, edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd570
test eax, eax
jle 0x4da7f1
push edi
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 4
je 0x4d923d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.ROCK
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9220
test dl, dl
je 0x4d921c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9220
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9200
xor eax, eax
jmp 0x4d9225
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d923d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 4
jne 0x4d929d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.PAVEMENT
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9280
test dl, dl
je 0x4d927c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9280
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9260
xor eax, eax
jmp 0x4d9285
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d929d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 2
je 0x4d92fd
mov eax, dword [ebp - 0x7d0]
mov ecx, str.GLACIER
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d92e0
test dl, dl
je 0x4d92dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d92e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d92c0
xor eax, eax
jmp 0x4d92e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d92fd
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd6a0
cmp dword [eax + 0x40], 1
je 0x4d935d
mov eax, dword [ebp - 0x7d0]
mov ecx, str.LAKE
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9340
test dl, dl
je 0x4d933c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9340
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9320
xor eax, eax
jmp 0x4d9345
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d935d
push edi
mov ecx, esi
call fcn.004bd6a0
mov ecx, dword [ebp - 0x3808]
push eax
call fcn.00452830
mov eax, dword [ebp - 0x3800]
inc edi
mov esi, dword [eax]
mov ecx, esi
call fcn.004bd570
cmp edi, eax
jl 0x4d91e6
jmp 0x4da7f1
mov ecx, str.:SubBasinGroup
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d93a1
test dl, dl
je 0x4d939d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d93a1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9381
xor eax, eax
jmp 0x4d93a6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9604
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d93d5
mov edx, str.___SubBasin_Group...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
cmp esi, 2
je 0x4d93ec
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov edi, dword [ebp - 0x7dc]
sub esp, 0x18
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d9410
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bddd0
mov esi, eax
mov dword [ebp - 0x3820], esi
test esi, esi
jne 0x4d948d
push 0x28
call fcn.0051fa77
mov esi, eax
add esp, 4
mov dword [ebp - 0x3890], esi
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 0x3c
mov ecx, dword [eax]
call fcn.004bd560
push eax
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040f4d0
mov ecx, esi
call fcn.0043ee30
mov dword [ebp - 0x3820], eax
push eax
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 3
mov ecx, dword [eax]
call fcn.004bf140
mov al, byte [ebp - 0x37fa]
mov edi, dword [ebp - 0x3810]
mov byte [ebp - 0x37f9], al
nop
mov esi, dword [ebp - 0x3808]
test edi, edi
je 0x4d94dd
mov eax, str.:EndSubBasinGroup
nop
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4d94d0
test cl, cl
je 0x4d94cc
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4d94d0
add esi, 2
add eax, 2
test cl, cl
jne 0x4d94b0
xor eax, eax
jmp 0x4d94d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da7f1
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
test al, al
jne 0x4da7f1
mov esi, dword [ebp - 0x7e0]
mov ecx, esi
mov edi, dword [ebp - 0x3810]
mov edx, edi
mov dword [ebp - 0x3808], esi
call fcn.0040bf40
test al, al
jne 0x4d94a6
mov ecx, str.:EndSubBasinGroup
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9544
test dl, dl
je 0x4d9540
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9544
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9524
xor eax, eax
jmp 0x4d9549
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d94a6
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd550
mov esi, eax
xor eax, eax
mov dword [ebp - 0x3814], esi
mov dword [ebp - 0x3840], eax
test edi, edi
jle 0x4d94a0
nop word [eax + eax]
push dword [ebp + eax*4 - 0x7e0]
call fcn.005484b0
add esp, 4
xor edx, edx
fstp qword [ebp - 0x384c]
cvttsd2si edi, qword [ebp - 0x384c]
test esi, esi
jle 0x4d95e8
mov eax, dword [ebp - 0x3800]
mov esi, dword [eax]
nop dword [eax + eax]
push edx
mov ecx, esi
call fcn.004bd910
mov ecx, eax
call fcn.004895f0
cmp eax, edi
je 0x4d95ce
inc edx
cmp edx, dword [ebp - 0x3814]
jl 0x4d95b0
jmp 0x4d95e2
push edx
mov ecx, esi
call fcn.004bd910
mov ecx, dword [ebp - 0x3820]
push eax
call fcn.0043f030
mov esi, dword [ebp - 0x3814]
mov eax, dword [ebp - 0x3840]
mov edi, dword [ebp - 0x3810]
inc eax
mov dword [ebp - 0x3840], eax
cmp eax, edi
jl 0x4d9580
jmp 0x4d94a0
mov ecx, str.:SBGroupPropertyMultiplier
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9630
test dl, dl
je 0x4d962c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9630
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9610
xor eax, eax
jmp 0x4d9635
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9866
sub esp, 0x18
mov ecx, esp
cmp esi, 4
jl 0x4d9821
push dword [ebp - 0x7dc]
call fcn.0040f4d0
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bddd0
mov dword [ebp - 0x3814], eax
test eax, eax
jne 0x4d96ee
lea edx, [ebp - 0x7dc]
lea ecx, [ebp - 0x36d8]
call fcn.0045fc80
push eax
mov edx, str.:SBGroupPropertyMultiplier:_invalid_subbasin_group__
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x3720]
call fcn.00410df0
sub esp, 0x14
mov byte [ebp - 4], 0x3e
mov ecx, esp
mov edx, eax
push str.__specified
call fcn.00410ec0
mov eax, dword [ebp - 0x3804]
add esp, 4
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
add esp, 0x18
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 3
call fcn.00402ec0
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov dl, byte [ebp - 0x37fa]
mov ecx, eax
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.0043ef70
test eax, eax
jle 0x4da7f1
mov edi, dword [ebp - 0x7d8]
mov byte [ebp - 0x37f9], dl
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x382c], esp
lea eax, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov dword [ebp - 0x3818], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d9741
sub ecx, dword [ebp - 0x3818]
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov ecx, dword [ebp - 0x3814]
push esi
mov byte [ebp - 4], 0x3f
call fcn.0043eff0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0048b520
ucomisd xmm0, qword [0x5bad40]
movsd qword [ebp - 0x384c], xmm0
lahf
test ah, 0x44
jnp 0x4d9808
push dword [ebp - 0x7d4]
call fcn.005484b0
fmul qword [ebp - 0x384c]
sub esp, 0x14
mov edx, esp
mov dword [ebp - 0x382c], esp
mov ecx, edi
fstp qword [ebp - 0x384c]
lea eax, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov dword [ebp - 0x3818], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d97d0
sub ecx, dword [ebp - 0x3818]
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov ecx, dword [ebp - 0x3814]
lea eax, [ebp - 0x384c]
push eax
push esi
mov byte [ebp - 4], 0x40
call fcn.0043eff0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0048a640
mov ecx, dword [ebp - 0x3814]
inc esi
call fcn.0043ef70
cmp esi, eax
jl 0x4d9717
jmp 0x4da7f1
push 0x2b
push str.:SBGroupPropertyMultiplier:_improper_syntax
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov dword [ecx], 0
call fcn.00402080
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
mov al, byte [ebp - 0x37fa]
add esp, 0x18
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:SBGroupPropertyOverride
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9890
test dl, dl
je 0x4d988c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9890
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9870
xor eax, eax
jmp 0x4d9895
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9a2c
sub esp, 0x18
cmp esi, 4
jl 0x4d9a1e
mov esi, dword [ebp - 0x7dc]
mov edx, esp
mov ecx, esi
mov dword [edx], eax
mov dword [edx + 0x10], eax
lea edi, [ecx + 1]
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d98c2
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bddd0
mov edi, eax
test edi, edi
jne 0x4d9968
lea edx, [ebp - 0x7dc]
lea ecx, [ebp - 0x36d8]
call fcn.0045fc80
push eax
mov edx, str.:SBGroupPropertyOverride:_invalid_subbasin_group__
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x3720]
call fcn.00410df0
sub esp, 0x14
mov byte [ebp - 4], 0x42
mov ecx, esp
mov edx, eax
push str.__specified
call fcn.00410ec0
mov eax, dword [ebp - 0x3804]
add esp, 4
mov cl, byte [eax + 0x2c9]
call fcn.0040bfd0
add esp, 0x18
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 3
call fcn.00402ec0
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov dl, byte [ebp - 0x37fa]
mov ecx, edi
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.0043ef70
test eax, eax
jle 0x4da7f1
mov byte [ebp - 0x37f9], dl
nop dword [eax + eax]
push dword [ebp - 0x7d4]
call fcn.005484b0
mov ecx, dword [ebp - 0x7d8]
sub esp, 0x14
mov edx, esp
mov dword [ebp - 0x382c], esp
fstp qword [ebp - 0x384c]
lea eax, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov dword [ebp - 0x3818], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d99d0
sub ecx, dword [ebp - 0x3818]
push ecx
push dword [ebp - 0x7d8]
mov ecx, edx
call fcn.00402080
lea eax, [ebp - 0x384c]
mov byte [ebp - 4], 0x43
push eax
push esi
mov ecx, edi
call fcn.0043eff0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0048a640
mov ecx, edi
inc esi
call fcn.0043ef70
cmp esi, eax
jl 0x4d9990
jmp 0x4da7f1
mov ecx, esp
push 0x29
push str.:SBGroupPropertyOverride:_improper_syntax
jmp 0x4d9828
mov ecx, str.:DisableHRUGroup
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9a53
test dl, dl
je 0x4d9a4f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9a53
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9a33
xor eax, eax
jmp 0x4d9a58
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9b4d
mov edi, dword [ebp - 0x3804]
cmp byte [edi + 0x2c9], al
je 0x4d9a86
mov edx, str.Disabling_HRU_Group
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
sub esp, 0x18
cmp esi, 2
jl 0x4d9b0c
mov esi, dword [ebp - 0x7dc]
mov edx, esp
mov ecx, esi
mov dword [edx], 0
mov dword [edx + 0x10], 0
lea edi, [ecx + 1]
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d9ab3
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd710
test eax, eax
jne 0x4d9af4
lea edx, [eax + 1]
mov ecx, str.Invalid_HRU_Group_name_supplied_in_:DisableHRUGroup_command_in_.rvh_file._Group_must_be_defined_first.
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, eax
call fcn.00452890
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, esp
push 0x21
push str.:DisableHRUGroup:_improper_syntax
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
mov cl, byte [edi + 0x2c9]
call fcn.0040bfd0
mov al, byte [ebp - 0x37fa]
add esp, 0x18
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:DisableSubBasinGroup
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9b74
test dl, dl
je 0x4d9b70
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9b74
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9b54
xor eax, eax
jmp 0x4d9b79
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9c46
mov edi, dword [ebp - 0x3804]
cmp byte [edi + 0x2c9], al
je 0x4d9ba7
mov edx, str.Disabling_HRU_Group
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
sub esp, 0x18
mov ecx, esp
cmp esi, 2
jl 0x4d9c07
push dword [ebp - 0x7dc]
call fcn.0040f4d0
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bddd0
test eax, eax
jne 0x4d9bef
lea edx, [eax + 1]
mov ecx, str.Invalid_Subbasin_Group_name_supplied_in_:DisableSubBasinGroup_command_in_.rvh_file._Group_must_be_defined_first.
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, eax
call fcn.0043f090
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
push 0x26
push str.:DisableSubBasinGroup:_improper_syntax
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
mov cl, byte [edi + 0x2c9]
call fcn.0040bfd0
mov al, byte [ebp - 0x37fa]
add esp, 0x18
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:PopulateSubBasinGroup
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9c70
test dl, dl
je 0x4d9c6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9c70
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9c50
xor eax, eax
jmp 0x4d9c75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da3ee
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4d9ca4
mov edx, str.___Populate_SubBasin_Group...
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
cmp esi, 6
jge 0x4d9cbb
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464ad0
mov edi, dword [ebp - 0x7dc]
sub esp, 0x18
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d9ce0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bddd0
mov esi, eax
lea edx, [ebp - 0x7dc]
lea ecx, [ebp - 0x3738]
mov dword [ebp - 0x3838], esi
call fcn.0045fc80
push eax
mov edx, str.SubBasinGroup
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x3720]
call fcn.00410df0
push str._was_populated_with_these_basins:
mov edx, eax
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x3750]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3720]
call fcn.00402ec0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x48
call fcn.00402ec0
test esi, esi
jne 0x4d9db8
push 0x28
call fcn.0051fa77
mov esi, eax
add esp, 4
mov dword [ebp - 0x3864], esi
mov eax, dword [ebp - 0x3800]
mov byte [ebp - 4], 0x49
mov ecx, dword [eax]
call fcn.004bd560
push eax
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040f4d0
mov ecx, esi
call fcn.0043ee30
mov edi, dword [ebp - 0x3800]
mov byte [ebp - 4], 0x48
push eax
mov dword [ebp - 0x3838], eax
mov ecx, dword [edi]
call fcn.004bf140
jmp 0x4d9dbe
mov edi, dword [ebp - 0x3800]
mov eax, dword [ebp - 0x7d4]
mov ecx, str.SUBBASINS
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9df0
test dl, dl
je 0x4d9dec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9df0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9dd0
xor eax, eax
jmp 0x4d9df5
sbb eax, eax
or eax, 1
mov dh, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dh
test eax, eax
jne 0x4da3b5
mov esi, dword [ebp - 0x7d0]
mov ecx, str.NOTWITHIN
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d9e36
test dl, dl
je 0x4d9e32
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d9e36
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d9e16
xor eax, eax
jmp 0x4d9e3b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da00f
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x7cc]
call fcn.0040f4d0
mov ecx, dword [edi]
call fcn.004bddd0
mov edx, eax
mov dword [ebp - 0x3818], edx
test edx, edx
jne 0x4d9e84
lea edx, [eax + 1]
mov ecx, str.:PopulateSubBasinGroup:_invalid_SB_group_reference_used_in_command
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da3b5
mov al, byte [ebp - 0x37fa]
xor esi, esi
mov edi, dword [edi]
mov ecx, edi
mov dword [ebp - 0x3820], 0
mov byte [ebp - 0x37f9], al
call fcn.004bd550
test eax, eax
jle 0x4da3b5
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
nop dword [eax]
push esi
mov ecx, edi
call fcn.004bd910
mov ecx, eax
call fcn.004895f0
push eax
mov ecx, edx
call fcn.0043efb0
test al, al
jne 0x4d9fec
push esi
mov ecx, edi
call fcn.004bd910
mov ecx, dword [ebp - 0x3838]
push eax
call fcn.0043f030
mov eax, dword [ebp - 0x3800]
push esi
mov ecx, dword [eax]
call fcn.004bd910
mov ecx, eax
call fcn.004895f0
mov edx, eax
lea ecx, [ebp - 0x36d8]
call fcn.00423830
mov eax, dword [ebp - 0x380c]
or eax, 0x4000
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
lea eax, [ebp - 0x36d8]
mov byte [ebp - 4], 0x4a
push eax
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x3780]
call fcn.0045b590
push 0x597758
mov edx, eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x36f0]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x36f0]
call fcn.00402ec0
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x48
call fcn.00402ec0
mov edi, dword [ebp - 0x3820]
mov eax, 0x66666667
inc edi
imul edi
mov dword [ebp - 0x3820], edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, edi
shl ecx, 3
sub eax, ecx
jne 0x4d9fec
push 0x59e808
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x3780]
call fcn.00410f30
add esp, 4
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
mov eax, dword [ebp - 0x3800]
inc esi
mov edi, dword [eax]
mov ecx, edi
call fcn.004bd550
mov edx, dword [ebp - 0x3818]
cmp esi, eax
jl 0x4d9ec0
jmp 0x4da3b5
mov ecx, str.UPSTREAM_OF
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da036
test dl, dl
je 0x4da032
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da036
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da016
xor eax, eax
jmp 0x4da03b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da1dc
push dword [ebp - 0x7cc]
call fcn.005484b0
mov eax, dword [ebp - 0x3800]
add esp, 4
fstp qword [ebp - 0x384c]
xor edi, edi
xor esi, esi
mov edx, dword [eax]
mov ecx, edx
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
call fcn.004bd550
test eax, eax
jle 0x4da3b5
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
nop word [eax + eax]
cvttsd2si eax, qword [ebp - 0x384c]
mov ecx, edx
push eax
push esi
call fcn.004bd910
mov ecx, eax
call fcn.004895f0
push eax
mov ecx, edx
call fcn.004bdd60
test al, al
je 0x4da1bf
mov eax, dword [ebp - 0x3800]
push esi
mov ecx, dword [eax]
call fcn.004bd910
mov ecx, dword [ebp - 0x3838]
push eax
call fcn.0043f030
mov eax, dword [ebp - 0x3800]
push esi
mov ecx, dword [eax]
call fcn.004bd910
mov ecx, eax
call fcn.004895f0
mov edx, eax
lea ecx, [ebp - 0x36d8]
call fcn.00423830
mov eax, dword [ebp - 0x380c]
or eax, 0x8000
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
lea eax, [ebp - 0x36d8]
mov byte [ebp - 4], 0x4c
push eax
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x36f0]
call fcn.0045b590
push 0x597758
mov edx, eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x3780]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
lea ecx, [ebp - 0x36f0]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x48
call fcn.00402ec0
inc edi
mov eax, 0x66666667
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, edi
shl ecx, 3
sub eax, ecx
jne 0x4da1bf
push 0x59e808
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x3780]
call fcn.00410f30
add esp, 4
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
mov eax, dword [ebp - 0x3800]
inc esi
mov edx, dword [eax]
mov ecx, edx
call fcn.004bd550
cmp esi, eax
jl 0x4da090
jmp 0x4da3b5
mov eax, str.DOWNSTREAM_OF
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4da201
test cl, cl
je 0x4da1fd
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4da201
add esi, 2
add eax, 2
test cl, cl
jne 0x4da1e1
xor eax, eax
jmp 0x4da206
sbb eax, eax
or eax, 1
mov byte [ebp - 0x37f9], dh
test eax, eax
jne 0x4da3b5
push dword [ebp - 0x7cc]
call fcn.005484b0
mov ecx, dword [edi]
add esp, 4
fstp qword [ebp - 0x384c]
cvttsd2si eax, qword [ebp - 0x384c]
push eax
call fcn.004bd930
mov edi, eax
test edi, edi
jne 0x4da25c
lea edx, [eax + 1]
mov ecx, str.:PopulateSubBasinGroup_:_invalid_subbasin_ID_specified
call fcn.004c4d70
mov al, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], al
jmp 0x4da3b5
mov dl, byte [ebp - 0x37fa]
mov ecx, edi
xor esi, esi
mov byte [ebp - 0x37f9], dl
call fcn.00489640
cmp eax, 0xffffffff
je 0x4da3b5
mov byte [ebp - 0x37f9], dl
cmp esi, 0x3e8
jge 0x4da3a4
mov ecx, edi
call fcn.00489640
push eax
mov eax, dword [ebp - 0x3800]
mov ecx, dword [eax]
call fcn.004bd930
mov ecx, dword [ebp - 0x3838]
mov edi, eax
push edi
call fcn.0043f030
mov ecx, edi
call fcn.004895f0
mov edx, eax
lea ecx, [ebp - 0x36d8]
call fcn.00423830
mov eax, dword [ebp - 0x380c]
or eax, 0x10000
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
lea eax, [ebp - 0x36d8]
mov byte [ebp - 4], 0x4e
push eax
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x36f0]
call fcn.0045b590
push 0x597758
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x3780]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
lea ecx, [ebp - 0x36f0]
call fcn.00402ec0
lea ecx, [ebp - 0x36d8]
mov byte [ebp - 4], 0x48
call fcn.00402ec0
inc esi
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, esi
shl ecx, 3
sub eax, ecx
jne 0x4da38e
push 0x59e808
lea edx, [ebp - 0x3750]
lea ecx, [ebp - 0x3780]
call fcn.00410f30
add esp, 4
lea ecx, [ebp - 0x3750]
push eax
call fcn.0040f360
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
mov ecx, edi
call fcn.00489640
cmp eax, 0xffffffff
jne 0x4da280
cmp esi, 0x3e8
jne 0x4da3b5
mov edx, 1
mov ecx, str.:PopulateSubBasinGroup:_cyclical_downstream_references_in_:SubBasins_list
call fcn.004c4d70
sub esp, 0x18
lea eax, [ebp - 0x3750]
mov ecx, esp
push eax
call fcn.00402f10
mov eax, dword [ebp - 0x3804]
mov cl, byte [eax + 0x2c9]
call fcn.0040c240
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3750]
call fcn.00402ec0
jmp 0x4da7f1
cmp byte [edi], 0x3a
mov dh, byte [ebp - 0x37fa]
mov byte [ebp - 0x37f9], dh
je 0x4da534
mov ecx, edi
mov dword [ebp - 0x3738], 0
mov dword [ebp - 0x3728], 0
mov dword [ebp - 0x3724], 0xf
mov byte [ebp - 0x3738], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4da430
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x3738]
call fcn.00402080
push 0x26
push str.Unrecognized_command_in_.rvh_file:_n
push 0
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x55
call fcn.004103e0
mov dword [ebp - 0x36f0], 0
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x36f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x36e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x380c]
or eax, 0x200
mov dword [ebp - 0x380c], eax
mov dword [ebp - 0x383c], eax
lea ecx, [ebp - 0x3738]
mov byte [ebp - 4], 0x57
call fcn.00402ec0
cmp dword [ebp - 0x36dc], 0x10
lea ecx, [ebp - 0x36f0]
cmovae ecx, dword [ebp - 0x36f0]
xor edx, edx
call fcn.004c4d70
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x36dc]
cmp ecx, 0x10
jb 0x4da523
mov edx, dword [ebp - 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4da519
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov al, byte [ebp - 0x37f9]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov ecx, str.:FileType
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da560
test dl, dl
je 0x4da55c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da560
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da540
xor eax, eax
jmp 0x4da565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da586
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da727
mov edx, str.Filetype
jmp 0x4da70e
mov ecx, str.:Application
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da5b0
test dl, dl
je 0x4da5ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da5b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da590
xor eax, eax
jmp 0x4da5b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da5d6
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da727
mov edx, str.Application
jmp 0x4da70e
mov ecx, str.:Version
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da600
test dl, dl
je 0x4da5fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da600
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da5e0
xor eax, eax
jmp 0x4da605
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da626
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da727
mov edx, str.Version
jmp 0x4da70e
mov ecx, str.:WrittenBy
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da650
test dl, dl
je 0x4da64c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da650
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da630
xor eax, eax
jmp 0x4da655
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da676
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da727
mov edx, str.WrittenBy
jmp 0x4da70e
mov ecx, str.:CreationDate
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da6a0
test dl, dl
je 0x4da69c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da6a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da680
xor eax, eax
jmp 0x4da6a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da6c3
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da727
mov edx, str.CreationDate
jmp 0x4da70e
mov ecx, str.:SourceFile
mov eax, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da6f0
test dl, dl
je 0x4da6ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da6f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da6d0
xor eax, eax
jmp 0x4da6f5
sbb eax, eax
or eax, 1
mov esi, dword [ebp - 0x3804]
mov cl, byte [esi + 0x2c9]
test eax, eax
jne 0x4da732
test cl, cl
je 0x4da727
mov edx, str.SourceFile
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
mov dh, byte [ebp - 0x37f9]
add esp, 4
mov byte [ebp - 0x37f9], dh
jmp 0x4da7f1
test cl, cl
je 0x4da7f1
push edi
lea ecx, [ebp - 0x3720]
call fcn.0040f4d0
push eax
mov edx, str.IGNORING_unrecognized_command:
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x3780]
call fcn.00410df0
push str._in_.rvh_file
mov edx, eax
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x36d8]
call fcn.00410ec0
add esp, 8
lea ecx, [ebp - 0x3780]
call fcn.00402ec0
lea ecx, [ebp - 0x3720]
mov byte [ebp - 4], 0x54
call fcn.00402ec0
sub esp, 0x18
lea eax, [ebp - 0x36d8]
mov ecx, esp
push eax
call fcn.00402f10
mov cl, byte [esi + 0x2c9]
call fcn.0040bfd0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x36d8]
call fcn.00402ec0
mov al, byte [ebp - 0x37f9]
mov byte [ebp - 0x37f9], al
jmp 0x4da7f1
mov eax, dword [ebp - 0x3804]
cmp byte [eax + 0x2c9], 0
je 0x4da7f1
mov edx, 0x59b104
mov ecx, 0x5d6660
call fcn.00411000
push eax
call fcn.00411280
add esp, 4
mov ecx, dword [ebp - 0x3824]
lea eax, [ebp - 0x3810]
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00464970
mov esi, dword [ebp - 0x3824]
mov byte [ebp - 0x37fb], al
test al, al
je 0x4d5a92
mov esi, dword [ebp - 0x3858]
test esi, esi
je 0x4da8cf
mov eax, dword [ebp - 0x3a18]
lea ecx, [ebp - 0x3a18]
xor edx, edx
push 0
add ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
push eax
call fcn.004050a0
lea ecx, [ebp - 0x3a08]
call fcn.0040fb40
test eax, eax
jne 0x4da888
mov eax, dword [ebp - 0x3a18]
lea ecx, [ebp - 0x3a18]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004050a0
mov eax, dword [ebp - 0x3824]
test eax, eax
je 0x4da89a
push ecx
mov ecx, eax
call fcn.00437bd0
lea ecx, [ebp - 0x3810]
mov eax, esi
push ecx
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x3824], eax
push ecx
mov ecx, eax
call fcn.00464970
mov byte [ebp - 0x37fb], al
mov dword [ebp - 0x3858], 0
test al, al
je 0x4d5a92
lea ecx, [ebp - 0x3950]
call fcn.0040fb40
test eax, eax
jne 0x4da907
mov eax, dword [ebp - 0x3960]
lea ecx, [ebp - 0x3960]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004050a0
mov esi, dword [ebp - 0x3800]
mov ecx, dword [esi]
call fcn.004bd550
cmp eax, 1
jle 0x4da9cb
mov edi, dword [ebp - 0x3804]
cmp dword [edi + 0x2a8], 0
jne 0x4da9cb
mov dword [ebp - 0x36f0], 0
mov dword [ebp - 0x36e0], 0
mov dword [ebp - 0x36dc], 0xf
mov byte [ebp - 0x36f0], 0
push 0x87
push str.ParseHRUPropsFile:_ROUTE_NONE_is_being_used_for_a_model_with_more_than_one_basin._Typically_this_method_is_used_for_lumped_models_only.
lea ecx, [ebp - 0x36f0]
mov byte [ebp - 4], 0x58
call fcn.00402080
sub esp, 0x18
lea eax, [ebp - 0x36f0]
mov ecx, esp
push eax
call fcn.00402f10
mov cl, byte [edi + 0x2c9]
call fcn.0040bfd0
mov byte [ebp - 4], 3
add esp, 0x18
mov ecx, dword [ebp - 0x36dc]
cmp ecx, 0x10
jb 0x4da9cb
mov edx, dword [ebp - 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4da9c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4daae1
push ecx
push edx
call fcn.0051faa7
add esp, 8
mov ecx, dword [esi]
call fcn.004bd550
cmp eax, 1
jle 0x4daa1c
sub esp, 0x18
mov ecx, esp
push 0x11
push str.AVG_ANNUAL_RUNOFF
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402080
call fcn.0044acf0
xorps xmm1, xmm1
add esp, 0x18
comisd xmm1, xmm0
jbe 0x4daa1c
mov edx, 1
mov ecx, str.ParseHRUPropsFile::_AVG_ANNUAL_RUNOFF_should_be_supplied__using_:AvgAnnualRunoff_command_in_.rvp_file__if_more_than_one_basin_is_included_in_model
call fcn.004c4d70
xor dl, dl
cmp byte [ebp + 8], dl
je 0x4daa75
mov edi, dword [esi]
mov ecx, edi
call fcn.004bd570
xor esi, esi
mov dword [ebp - 0x3818], eax
test eax, eax
jle 0x4daa75
nop dword [eax]
push esi
mov ecx, edi
call fcn.004bd6a0
mov ecx, eax
call fcn.00488460
test eax, eax
movzx edx, dl
mov eax, 1
cmove edx, eax
inc esi
cmp esi, dword [ebp - 0x3818]
jl 0x4daa40
test dl, dl
je 0x4daa75
mov edx, eax
mov ecx, str.ParseHRUFile::_At_least_one_model_process_requires_terrain_parameters._Cannot_have_NULL___NONE___Terrain_class_in_:HRUs_block
call fcn.004c4d70
mov eax, dword [ebp - 0x3824]
test eax, eax
je 0x4daa87
push ecx
mov ecx, eax
call fcn.00437bd0
lea ecx, [ebp - 0x3a18]
mov byte [ebp - 0x3825], 1
call fcn.00437b40
push fcn.00402ec0
push 0x1f4
push 0x18
lea eax, [ebp - 0x36c0]
mov byte [ebp - 4], 0
push eax
call fcn.005200aa
lea ecx, [ebp - 0x3960]
call fcn.00437b40
mov al, byte [ebp - 0x3825]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0051fa69
mov esp, ebp
pop ebp
ret
call fcn.0052eb21
call fcn.00401560
int3