Function at 0x436b60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
mov eax, dword [0x70e44c]
mov edx, dword [0x70e460]
mov ecx, dword [0x70e474]
inc word [0x775688]
push esi
mov esi, dword [0x70e48c]
lea eax, [eax + eax*8]
add edx, 0x12
sub esi, eax
xor eax, eax
add ecx, 0xfffffff8
mov dword [esp + 0x18], 4
test edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov dword [0x70e47c], ecx
jle 0x437f91
push ebx
push ebp
push edi
mov eax, dword [0x70e47c]
test eax, eax
jl 0x437f4b
cmp eax, 0x1c9
jge 0x437f4b
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [0x70e490]
mov edi, eax
je 0x436bde
sub edi, dword [0x70e45c]
dec edi
mov ebp, dword [0x70e458]
mov edx, dword [0x70e478]
mov ecx, 0xfffffffe
add edx, 0xfffffffc
sub ecx, ebp
mov dword [esp + 0x18], 0
mov dword [0x70e480], edx
lea edi, [edi + ecx*4]
mov ecx, dword [0x70e464]
add ecx, 6
test ecx, ecx
mov ecx, dword [0x70e47c]
jl 0x4374a1
mov eax, dword [0x70e480]
test eax, eax
jl 0x437471
cmp eax, 0xe7
jge 0x437471
lea edx, [ecx + ecx*8]
lea eax, [ecx + edx*2]
mov edx, dword [0x70e480]
lea eax, [ecx + eax*4]
lea edx, [edx + eax*2]
lea ebx, [eax + edx]
mov edx, dword [ebx*4 + 0x70e494]
cmp edx, 0xfff0000
mov dword [0x70e488], edx
jge 0x437471
cmp dword [0xe94e0c], 0x33
je 0x436c74
mov al, byte [0x6de515]
test al, al
je 0x436c8b
mov eax, dword [edx*4 + 0xaf598c]
and eax, 0x20000002
cmp eax, 0x20000002
je 0x437471
test byte [edx + 0xb67d1c], 0x40
je 0x437471
movsx ebp, word [edx*2 + 0xb4e6fc]
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x436cc3
mov ecx, ebp
shl ecx, 5
add ecx, ebp
mov al, byte [ecx*8 + 0x799a97]
test al, al
je 0x436cc3
mov word [0x70e120], 0xf863
mov cl, byte [edx + 0xb285cc]
mov eax, dword [edx*4 + 0xb7482c]
shl ebp, 5
add ebp, dword [esp + 0x14]
and ecx, 0xf
mov dword [0xd3b5c0], eax
shl ebp, 3
mov dword [esp + 0x10], ebp
mov bp, word [ebp + 0x7999e8]
cmp bp, 0xb7
jne 0x436d11
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], 0x20
push edx
push esi
push edi
push eax
call fcn.004ef550
add esp, 0x10
jmp 0x4372a7
cmp bp, 0xe6
jne 0x436fa1
test ecx, ecx
mov dword [esp + 0x24], 0x50
jne 0x436e98
test dword [edx*4 + 0xaf598c], 0xeefed77f
jne 0x436e91
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x436d55
mov ebp, dword [ebx*4 + 0x70e0f8]
mov ebx, dword [ebx*4 + 0x70e0fc]
jmp 0x436d63
mov ebp, dword [ebx*4 + 0x70e0f4]
mov ebx, dword [ebx*4 + 0x70e0f8]
cmp ebp, 0xfff0000
jge 0x436dfa
movsx edx, word [ebp*2 + 0xb4e6fc]
mov ecx, edx
shl ecx, 5
add ecx, edx
shl ecx, 3
cmp word [ecx + 0x7999e8], 0xb7
jne 0x436dad
mov dl, byte [ecx + 0x799a2e]
test dl, dl
je 0x436dad
mov edx, dword [ecx + 0x799a40]
test edx, edx
je 0x436dad
cmp byte [ecx + 0x799a31], 3
jbe case.0x436e7f.13
movsx edx, word [ebp*2 + 0xb350dc]
test edx, edx
jle 0x436dfa
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, edx
shl ecx, 2
mov dl, byte [ecx + 0xbcd65d]
test dl, dl
jne case.0x436de8.14
xor edx, edx
mov dl, byte [ecx + 0xbcd602]
mov ebp, edx
add ebp, 0xfffffff3
cmp ebp, 0x2c
ja case.0x436de8.14
xor edx, edx
mov dl, byte [ebp + 0x437fa0]
jmp dword [edx*4 + 0x437f98]
movsx edx, word [ecx + 0xbcd600]
test edx, edx
jg 0x436db9
cmp ebx, 0xfff0000
jge 0x436e91
movsx edx, word [ebx*2 + 0xb4e6fc]
mov ecx, edx
shl ecx, 5
add ecx, edx
shl ecx, 3
cmp word [ecx + 0x7999e8], 0xb7
jne 0x436e44
mov dl, byte [ecx + 0x799a2e]
test dl, dl
je 0x436e44
mov edx, dword [ecx + 0x799a40]
test edx, edx
je 0x436e44
cmp byte [ecx + 0x799a31], 3
jbe case.0x436e7f.13
movsx edx, word [ebx*2 + 0xb350dc]
test edx, edx
jle 0x436e91
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, edx
shl ecx, 2
mov dl, byte [ecx + 0xbcd65d]
test dl, dl
jne case.0x436e7f.14
xor edx, edx
mov dl, byte [ecx + 0xbcd602]
mov ebp, edx
add ebp, 0xfffffff3
cmp ebp, 0x2c
ja case.0x436e7f.14
xor edx, edx
mov dl, byte [ebp + 0x437fd8]
jmp dword [edx*4 + 0x437fd0]
movsx edx, word [ecx + 0xbcd600]
test edx, edx
jg 0x436e50
push esi
push edi
jmp 0x436f38
cmp ecx, 1
jne 0x436eb8
mov ebp, dword [0x70e44c]
mov edx, dword [0x70e45c]
mov ecx, esi
sub ecx, ebp
push ecx
lea ecx, [edx + edi + 1]
push ecx
jmp 0x436f38
cmp ecx, 2
jne 0x436ed4
mov ecx, dword [0x70e448]
mov edx, esi
sub edx, ecx
mov ecx, dword [0x70e458]
push edx
lea edx, [ecx + edi + 2]
jmp 0x436f37
cmp ecx, 3
jne 0x436ef1
mov ebp, dword [0x70e444]
mov edx, dword [0x70e454]
mov ecx, esi
sub ecx, ebp
push ecx
lea ecx, [edx + edi + 3]
push ecx
jmp 0x436f38
cmp ecx, 4
jne 0x436f0d
mov ecx, dword [0x70e440]
mov edx, esi
sub edx, ecx
mov ecx, dword [0x70e450]
push edx
lea edx, [ecx + edi + 4]
jmp 0x436f37
cmp ecx, 5
jne case.0x436e7f.13
mov ebx, dword [0x70e440]
mov edx, dword [0x70e44c]
mov ecx, esi
sub ecx, ebx
sub ecx, edx
mov edx, dword [0x70e450]
push ecx
mov ecx, dword [0x70e45c]
add edx, ecx
lea edx, [edx + edi + 5]
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0xbca2e0]
test eax, eax
je 0x436f51
cmp eax, 4
jne 0x436f61
mov ebx, dword [esp + 0x10]
cmp word [ebx + 0x7999ea], 0
je 0x436f81
jmp 0x436f65
mov ebx, dword [esp + 0x10]
cmp eax, 2
je 0x436f73
cmp eax, 6
jne 0x4372ab
cmp word [ebx + 0x7999ea], 1
jne 0x4372ab
mov eax, dword [esp + 0x14]
push esi
push edi
push eax
mov ecx, 0x6de650
call fcn.00401f70
push esi
push edi
call fcn.00420a30
add esp, 8
jmp 0x4372ab
mov ebp, dword [0xf572ec]
add ebp, 0x30
cmp eax, ebp
jl 0x436fe6
mov ebp, dword [0xf572ec]
add ebp, 0x48
cmp eax, ebp
jge 0x436fe6
lea ebp, [esi - 0x96]
mov ecx, 0xf55bb0
push ebp
push edi
push eax
call fcn.0053e590
mov ecx, dword [0xd3b5c0]
push ebp
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
jmp 0x4372a7
test ecx, ecx
jne 0x43715a
test dword [edx*4 + 0xaf598c], 0xeefed77f
jne 0x437153
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x437017
mov ebp, dword [ebx*4 + 0x70e0f8]
mov ebx, dword [ebx*4 + 0x70e0fc]
jmp 0x437025
mov ebp, dword [ebx*4 + 0x70e0f4]
mov ebx, dword [ebx*4 + 0x70e0f8]
cmp ebp, 0xfff0000
jge 0x4370bc
movsx edx, word [ebp*2 + 0xb4e6fc]
mov ecx, edx
shl ecx, 5
add ecx, edx
shl ecx, 3
cmp word [ecx + 0x7999e8], 0xb7
jne 0x43706f
mov dl, byte [ecx + 0x799a2e]
test dl, dl
je 0x43706f
mov edx, dword [ecx + 0x799a40]
test edx, edx
je 0x43706f
cmp byte [ecx + 0x799a31], 3
jbe case.0x437141.13
movsx edx, word [ebp*2 + 0xb350dc]
test edx, edx
jle 0x4370bc
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, edx
shl ecx, 2
mov dl, byte [ecx + 0xbcd65d]
test dl, dl
jne case.0x4370aa.14
xor edx, edx
mov dl, byte [ecx + 0xbcd602]
mov ebp, edx
add ebp, 0xfffffff3
cmp ebp, 0x2c
ja case.0x4370aa.14
xor edx, edx
mov dl, byte [ebp + 0x438010]
jmp dword [edx*4 + 0x438008]
movsx edx, word [ecx + 0xbcd600]
test edx, edx
jg 0x43707b
cmp ebx, 0xfff0000
jge 0x437153
movsx edx, word [ebx*2 + 0xb4e6fc]
mov ecx, edx
shl ecx, 5
add ecx, edx
shl ecx, 3
cmp word [ecx + 0x7999e8], 0xb7
jne 0x437106
mov dl, byte [ecx + 0x799a2e]
test dl, dl
je 0x437106
mov edx, dword [ecx + 0x799a40]
test edx, edx
je 0x437106
cmp byte [ecx + 0x799a31], 3
jbe case.0x437141.13
movsx edx, word [ebx*2 + 0xb350dc]
test edx, edx
jle 0x437153
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, edx
shl ecx, 2
mov dl, byte [ecx + 0xbcd65d]
test dl, dl
jne case.0x437141.14
xor edx, edx
mov dl, byte [ecx + 0xbcd602]
mov ebp, edx
add ebp, 0xfffffff3
cmp ebp, 0x2c
ja case.0x437141.14
xor edx, edx
mov dl, byte [ebp + 0x438048]
jmp dword [edx*4 + 0x438040]
movsx edx, word [ecx + 0xbcd600]
test edx, edx
jg 0x437112
push esi
push edi
jmp 0x437240
cmp ecx, 1
jne 0x43717a
mov ebp, dword [0x70e44c]
mov edx, dword [0x70e45c]
mov ecx, esi
sub ecx, ebp
push ecx
lea ecx, [edx + edi + 1]
push ecx
jmp 0x437240
cmp ecx, 2
jne 0x4371dc
mov ebx, dword [0x70e448]
mov ecx, dword [0x70e458]
mov edx, esi
sub edx, ebx
push edx
lea edx, [ecx + edi + 2]
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov ebx, dword [esp + 0x14]
mov ecx, 0xbca350
push ebx
call fcn.00488030
test al, al
je case.0x437141.13
mov ebp, dword [0x70e448]
mov ecx, dword [0x70e458]
mov eax, esi
push 1
sub eax, ebp
lea edx, [ecx + edi + 2]
push eax
push edx
push ebx
mov ecx, 0xbca350
call fcn.00488c20
jmp case.0x437141.13
cmp ecx, 3
jne 0x4371f9
mov ebp, dword [0x70e444]
mov edx, dword [0x70e454]
mov ecx, esi
sub ecx, ebp
push ecx
lea ecx, [edx + edi + 3]
push ecx
jmp 0x437240
cmp ecx, 4
jne 0x437215
mov ecx, dword [0x70e440]
mov edx, esi
sub edx, ecx
mov ecx, dword [0x70e450]
push edx
lea edx, [ecx + edi + 4]
jmp 0x43723f
cmp ecx, 5
jne case.0x437141.13
mov ebx, dword [0x70e440]
mov edx, dword [0x70e44c]
mov ecx, esi
sub ecx, ebx
sub ecx, edx
mov edx, dword [0x70e450]
push ecx
mov ecx, dword [0x70e45c]
add edx, ecx
lea edx, [edx + edi + 5]
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov ebx, dword [esp + 0x10]
mov al, byte [ebx + 0x7999dd]
test al, al
je 0x4372a7
cmp byte [ebx + 0x799a5f], 1
jne 0x43727b
mov edx, dword [0xf56724]
lea eax, [esi - 0x20]
lea ecx, [edi + 0x12]
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov al, byte [ebx + 0x7999dd]
test al, al
je 0x4372a7
cmp byte [ebx + 0x799a5f], 2
jne 0x4372a7
mov edx, dword [0xf572e4]
lea eax, [esi - 0x20]
lea ecx, [edi + 0x12]
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ebx, dword [esp + 0x10]
cmp word [ebx + 0x7999e8], 0xd2
jne 0x437328
mov eax, dword [0xbca2e0]
cmp eax, 4
jne 0x4372d4
mov ax, word [ebx + 0x7999ea]
test ax, ax
je 0x43731e
cmp ax, 3
je 0x43731e
jmp 0x437328
cmp eax, 2
jne 0x4372ed
mov ax, word [ebx + 0x7999ea]
test ax, ax
je 0x43731e
cmp ax, 3
je 0x43731e
jmp 0x437328
test eax, eax
jne 0x437306
mov ax, word [ebx + 0x7999ea]
cmp ax, 2
je 0x43731e
cmp ax, 5
je 0x43731e
jmp 0x437328
cmp eax, 6
jne 0x437328
mov ax, word [ebx + 0x7999ea]
cmp ax, 2
je 0x43731e
cmp ax, 5
jne 0x437328
push esi
push edi
call fcn.0041fff0
add esp, 8
mov ax, word [ebx + 0x7999e8]
cmp ax, 0xcf
je 0x43733b
cmp ax, 0xd0
jne 0x43734c
mov ebp, dword [esp + 0x14]
push esi
push edi
push ebp
call fcn.004e5e90
add esp, 0xc
jmp 0x437350
mov ebp, dword [esp + 0x14]
cmp word [ebx + 0x7999e8], 0xd5
jne 0x437377
cmp word [ebx + 0x7999ea], 0
jne 0x437377
push esi
push edi
push ebp
call fcn.00542e10
push esi
push edi
call fcn.00420050
add esp, 0x14
cmp word [ebx + 0x7999e8], 0xe1
jne 0x4373d2
mov eax, dword [0xbca2e0]
test eax, eax
jne 0x437397
cmp word [ebx + 0x7999ea], 6
je 0x4373c8
jmp 0x4373d2
cmp eax, 2
jne 0x4373a8
cmp word [ebx + 0x7999ea], 5
je 0x4373c8
jmp 0x4373d2
cmp eax, 4
jne 0x4373b9
cmp word [ebx + 0x7999ea], 7
je 0x4373c8
jmp 0x4373d2
cmp eax, 6
jne 0x4373d2
cmp word [ebx + 0x7999ea], 8
jne 0x4373d2
push esi
push edi
call fcn.004206f0
add esp, 8
cmp word [ebx + 0x7999e8], 0xe3
jne 0x4373f1
cmp word [ebx + 0x7999ea], 0
jne 0x4373f1
push esi
push edi
call fcn.00420d60
add esp, 8
mov ax, word [ebx + 0x7999e8]
cmp ax, 0xe5
je 0x437410
cmp ax, 0xea
je 0x437410
cmp ax, 0xec
je 0x437410
cmp ax, 0xeb
jne 0x43743d
mov eax, dword [ebx + 0x799a3c]
test eax, eax
je 0x43743d
mov eax, dword [ebx + 0x799a34]
lea ecx, [eax + eax*2]
shl ecx, 5
add ecx, eax
cmp byte [ecx*4 + 0xbcd609], 8
jne 0x43743d
push ebp
push esi
push edi
call fcn.00421920
add esp, 0xc
cmp word [ebx + 0x7999e8], 0xe4
jne 0x43745c
cmp word [ebx + 0x7999ea], 0
jne 0x43745c
push esi
push edi
call fcn.00421060
add esp, 8
mov ecx, dword [0x70e47c]
mov ebp, dword [0x70e458]
mov word [0x70e120], 0
mov eax, dword [esp + 0x18]
mov edx, dword [0x70e480]
inc eax
inc edx
mov dword [0x70e480], edx
mov edx, dword [0x70e464]
add edx, 6
lea edi, [edi + ebp + 2]
cmp eax, edx
mov dword [esp + 0x18], eax
jle 0x436c1c
mov eax, dword [0x70e490]
mov edx, dword [esp + 0x1c]
mov edi, eax
test edx, edx
je 0x4374b2
sub edi, dword [0x70e45c]
dec edi
mov edx, dword [0x70e478]
mov eax, 0xfffffffe
sub eax, ebp
xor ebx, ebx
add edx, 0xfffffffc
lea edi, [edi + eax*4]
mov eax, dword [0x70e464]
add eax, 6
mov dword [0x70e480], edx
test eax, eax
jl 0x43758d
test edx, edx
jl 0x43756c
cmp edx, 0xe7
jge 0x43756c
lea eax, [ecx + ecx*8]
lea eax, [ecx + eax*2]
lea eax, [ecx + eax*4]
lea ebp, [edx + eax*2]
add eax, ebp
mov eax, dword [eax*4 + 0x70e494]
cmp eax, 0xfff0000
mov dword [0x70e488], eax
jge 0x43756c
test dword [eax*4 + 0xaf598c], 0xeefed77f
je 0x43756c
movsx eax, word [eax*2 + 0xb350dc]
test eax, eax
jle 0x43756c
lea ebp, [eax + eax*2]
shl ebp, 5
add ebp, eax
shl ebp, 2
cmp byte [ebp + 0xbcd65d], 0
jne 0x437561
cmp word [ebp + 0xbcd718], 0
jne 0x437561
mov ecx, dword [esp + 0x74]
push ecx
push esi
push edi
push eax
call fcn.00438e50
mov edx, dword [0x70e480]
mov ecx, dword [0x70e47c]
add esp, 0x10
movsx eax, word [ebp + 0xbcd600]
test eax, eax
jg 0x437527
mov eax, dword [0x70e458]
inc ebx
inc edx
lea edi, [edi + eax + 2]
mov eax, dword [0x70e464]
add eax, 6
mov dword [0x70e480], edx
cmp ebx, eax
jle 0x4374dd
mov eax, dword [esp + 0x1c]
mov ebp, dword [0x70e490]
test eax, eax
je 0x4375a2
sub ebp, dword [0x70e45c]
dec ebp
mov edx, dword [0x70e458]
mov eax, dword [0x70e464]
mov ecx, 0xfffffffe
add eax, 6
sub ecx, edx
mov edx, dword [0x70e478]
add edx, 0xfffffffc
mov dword [esp + 0x18], 0
test eax, eax
lea ebp, [ebp + ecx*4]
mov dword [0x70e480], edx
jl 0x437e40
mov eax, dword [0x70e480]
test eax, eax
jl 0x437e0f
cmp eax, 0xe7
jge 0x437e0f
mov eax, dword [0x70e47c]
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*2]
mov ecx, dword [0x70e480]
lea eax, [eax + edx*4]
lea edx, [ecx + eax*2]
add eax, edx
mov ecx, dword [eax*4 + 0x70e494]
cmp ecx, 0xfff0000
mov dword [0x70e488], ecx
jge 0x437e0f
mov eax, dword [ecx*4 + 0xaf598c]
and eax, 0x44
cmp al, 0x44
jne 0x437667
mov al, byte [ecx + 0xadc36c]
test al, al
je 0x437667
mov edx, dword [0x70e448]
mov ecx, esi
sub ecx, edx
mov edx, dword [0xf56d34]
and eax, 0xff
push ecx
push ebp
mov ecx, 0xf55bb0
lea eax, [eax + edx - 1]
push eax
call fcn.0053e590
jmp 0x437e0f
mov edi, dword [ecx*4 + 0xb7482c]
mov edx, dword [0x126517c]
cmp edi, edx
mov eax, edi
jl 0x43767c
xor eax, eax
shl eax, 6
cmp word [eax + 0x10d6a16], 0
je 0x437cf3
test byte [ecx + 0xb67d1c], 0x40
je 0x437e0f
movsx eax, word [ecx*2 + 0xb4e6fc]
test eax, eax
mov dword [esp + 0x14], eax
je 0x4376c5
mov edx, eax
shl edx, 5
add edx, eax
mov bl, byte [edx*8 + 0x799a97]
test bl, bl
je 0x4376c5
mov word [0x70e120], 0xf863
mov ebx, eax
shl ebx, 5
add ebx, eax
shl ebx, 3
mov dword [esp + 0x10], ebx
mov dx, word [ebx + 0x7999e8]
cmp dx, 0x47
je 0x4376e7
cmp dx, 0xbf
jne 0x4376f9
push esi
push ebp
push ecx
push eax
call fcn.00442280
mov ecx, dword [0x70e488]
add esp, 0x10
mov bx, word [ebx + 0x7999e8]
cmp bx, 0x4b
jne 0x43770d
mov edi, dword [ecx*4 + 0xb7482c]
cmp bx, 0x48
je 0x43771a
cmp bx, 0xc1
jne 0x43773c
mov edx, dword [0xf566ac]
lea eax, [esi - 0x2a]
lea ecx, [ebp - 4]
push eax
add edx, 0x11
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0x70e488]
push ecx
push edi
call fcn.0040f2c0
add esp, 8
test eax, eax
jle 0x437ce5
mov edx, dword [0x126517c]
mov ebx, eax
cmp edi, edx
mov dword [esp + 0x20], ebx
mov ecx, edi
jl 0x437762
xor ecx, ecx
shl ecx, 6
movsx ecx, word [ecx + 0x10d6a16]
cmp eax, ecx
jle 0x437786
cmp edi, edx
mov eax, edi
jl 0x437778
xor eax, eax
shl eax, 6
movsx ebx, word [eax + 0x10d6a16]
mov dword [esp + 0x20], ebx
mov edx, dword [0x70e488]
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, 0xbca350
mov al, byte [edx + 0xb285cc]
and eax, 0xf
mov dword [esp + 0x30], eax
call fcn.00488050
test al, al
je 0x4377cc
mov edx, dword [esp + 0x14]
push esi
push ebp
push ebx
push edx
mov ecx, 0xbca350
call fcn.00489500
mov word [0x70e120], 0
jmp 0x437ded
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x7999e8]
add eax, 0xffffffe2
cmp eax, 0xbf
ja case.0x4377ed.43
xor ecx, ecx
mov cl, byte [eax + 0x4380b0]
jmp dword [ecx*4 + 0x438078]
push 3
push 0x71
push esi
push ebp
push 0x270
mov ecx, 0xf55bb0
call fcn.004381a0
lea edx, [eax + ebx - 1]
push edx
call fcn.004381b0
add esp, 0x14
mov word [0x70e120], 0
jmp 0x437ded
push 0x18
push 0x16
push esi
push ebp
push 0x274
mov ecx, 0xf55bb0
call fcn.004381a0
lea eax, [eax + ebx - 1]
push eax
call fcn.004381b0
add esp, 0x14
mov ecx, 0xf55bb0
push 0x15f
call fcn.004381a0
lea ecx, [esi - 0x2a]
lea edx, [ebp - 4]
add eax, 0x11
push ecx
push edx
push eax
jmp 0x437cdb
xor eax, eax
push 0x223
mov ecx, 0xf55bb0
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], 0x242
call fcn.004381a0
sub edi, eax
and edi, 3
cmp edi, 3
ja case.default.0x437891
jmp dword [edi*4 + 0x438170]
mov eax, 0x242
mov edi, 4
mov dword [esp + 0x20], 0
jmp 0x4378f0
mov eax, 0x243
mov edi, 3
mov dword [esp + 0x20], 0xfffffffe
jmp 0x4378f0
mov eax, 0x244
mov edi, 0xc
mov dword [esp + 0x20], 0
jmp 0x4378f0
mov eax, 0x245
mov edi, 0xf
mov dword [esp + 0x20], 6
jmp 0x4378f0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push eax
mov ecx, 0xf55bb0
call fcn.004381a0
mov ecx, dword [esp + 0x20]
mov edx, dword [0x70e45c]
lea ebx, [eax + ebx - 1]
mov eax, dword [0x70e44c]
add ecx, eax
lea eax, [edi + edx*2 - 8]
push ecx
push eax
push esi
push ebp
push ebx
call fcn.004381b0
add esp, 0x14
mov word [0x70e120], 0
jmp 0x437ded
mov ecx, dword [esp + 0x10]
push 0x222
mov dword [esp + 0x18], ebx
movsx edx, word [ecx + 0x799a8c]
mov ecx, 0xf55bb0
mov dword [esp + 0x24], edx
call fcn.004381a0
sub edi, eax
mov edx, dword [esp + 0x20]
and edi, 3
mov dword [esp + 0x30], 0x84
mov eax, edi
mov dword [esp + 0x34], 0xfffffff9
mov dword [esp + 0x38], 0x73
mov dword [esp + 0x3c], 0x19
lea edi, [eax - 1]
mov dword [esp + 0x40], 0x3c
and edi, 3
mov dword [esp + 0x44], 0x14
test edx, edx
mov dword [esp + 0x48], 0x31
mov dword [esp + 0x4c], 0xfffffffc
mov dword [esp + 0x50], 0x98
mov dword [esp + 0x54], 0xfffffff3
mov dword [esp + 0x58], 0x7b
mov dword [esp + 0x5c], 0x10
mov dword [esp + 0x60], 0x41
mov dword [esp + 0x64], 0xe
mov dword [esp + 0x68], 0x26
mov dword [esp + 0x6c], 0xfffffff4
mov ecx, 0x278
je 0x437a11
lea edx, [edx + edx*2]
shl edx, 5
add edx, dword [esp + 0x20]
cmp byte [edx*4 + 0xbcd630], 0xa
jne 0x437a11
add eax, 4
cmp ebx, 0x14
mov ecx, 0x279
mov ebx, 0x14
jg 0x437a15
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + eax*8 + 0x34]
mov eax, dword [esp + eax*8 + 0x30]
push edx
push eax
push esi
push ebp
push ecx
mov ecx, 0xf55bb0
call fcn.004381a0
add eax, edi
lea ecx, [eax + ebx*4 - 4]
push ecx
call fcn.004381b0
add esp, 0x14
mov word [0x70e120], 0
jmp 0x437ded
mov eax, dword [esp + 0x10]
xor edx, edx
mov dx, word [eax + 0x799a8c]
push edx
push esi
push ebp
push ebx
push edi
call fcn.00438210
add esp, 0x14
mov word [0x70e120], 0
jmp 0x437ded
mov ecx, dword [esp + 0x10]
movsx edx, word [ecx + 0x799a8c]
push edx
push esi
push ebp
push ebx
push edi
call fcn.00438350
add esp, 0x14
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.00438470
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.004384d0
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.00438590
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.00438650
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.004386b0
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.00438710
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
push esi
push ebp
push ebx
push edi
call fcn.00438770
add esp, 0x10
mov word [0x70e120], 0
jmp 0x437ded
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x437b7e
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx eax, word [eax + 0x16]
sub ebx, eax
lea ebx, [ebx + esi + 0x1e]
jmp 0x437c19
cmp eax, 1
jne 0x437bb4
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx edx, word [eax + 0x16]
mov ecx, dword [0x70e44c]
sub ebx, edx
sub ebx, ecx
lea ebx, [ebx + esi + 0x3c]
jmp 0x437c6c
cmp eax, 2
jne 0x437be9
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ecx, word [eax + 0x16]
mov eax, dword [0x70e448]
sub ebx, ecx
sub ebx, eax
lea ebx, [ebx + esi + 0x5a]
jmp 0x437cc1
cmp eax, 3
jne 0x437c38
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx eax, word [eax + 0x16]
sub ebx, eax
mov eax, dword [0x70e444]
sub ebx, eax
lea ebx, [ebx + esi + 0x78]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx eax, word [eax + 0x22]
mov ecx, dword [esp + 0x20]
add eax, ebp
push ebx
add ecx, edi
push eax
push ecx
jmp 0x437cdb
cmp eax, 4
jne 0x437c88
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx edx, word [eax + 0x16]
mov ecx, dword [0x70e440]
sub ebx, edx
sub ebx, ecx
lea ebx, [ebx + esi + 0x96]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx eax, word [eax + 0x22]
add eax, ebp
push ebx
push eax
mov eax, dword [esp + 0x28]
add eax, edi
push eax
jmp 0x437cdb
cmp eax, 5
jne 0x437ce5
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ebx, word [eax + 0x24]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx ecx, word [eax + 0x16]
mov eax, dword [0x70e44c]
sub ebx, ecx
sub ebx, dword [0x70e440]
sub ebx, eax
lea ebx, [ebx + esi + 0xb4]
push edi
mov ecx, 0xf55bb0
call fcn.00438180
movsx eax, word [eax + 0x22]
mov edx, dword [esp + 0x20]
add eax, ebp
push ebx
add edx, edi
push eax
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov word [0x70e120], 0
jmp 0x437ded
movsx eax, word [ecx*2 + 0xb4e6fc]
mov edx, eax
xor ebx, ebx
shl edx, 5
mov bl, byte [ecx + 0xb67d1c]
add edx, eax
shl edx, 3
mov di, word [edx + 0x7999e8]
cmp di, 0x39
jne 0x437d99
test bl, 0x40
je 0x437df3
mov dx, word [edx + 0x7999ea]
cmp dx, 0xd
jne 0x437d51
mov edx, dword [0xf5662c]
lea eax, [esi - 0x14]
lea ecx, [ebp + 0x5d]
push eax
add edx, 3
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
jmp 0x437ded
cmp dx, 0xc
jne 0x437d75
mov edx, dword [0xf5662c]
lea eax, [esi - 0x14]
lea ecx, [ebp + 0x5d]
push eax
add edx, 4
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
jmp 0x437ded
cmp dx, 0xb
jne 0x437df3
mov edx, dword [0xf5662c]
lea eax, [esi - 0x14]
lea ecx, [ebp + 0x5d]
push eax
add edx, 2
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
jmp 0x437ded
cmp di, 0x3a
je 0x437df3
cmp di, 0xaa
je 0x437df3
cmp di, 0xab
je 0x437df3
cmp di, 0xc8
je 0x437df3
cmp di, 0xc9
je 0x437df3
cmp di, 0xca
jne 0x437dd4
test bl, 0x40
je 0x437df3
push esi
push ebp
push eax
call fcn.004c0160
add esp, 0xc
jmp 0x437ded
cmp di, 0x47
je 0x437de1
cmp di, 0xbf
jne 0x437df3
push esi
push ebp
push ecx
push eax
call fcn.00442280
add esp, 0x10
mov ecx, dword [0x70e488]
test byte [ecx + 0xb67d1c], 0x40
je 0x437e0f
movsx eax, word [ecx*2 + 0xb4e6fc]
push esi
push ebp
push eax
call fcn.00436310
add esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [0x70e480]
mov ecx, dword [0x70e458]
inc eax
inc edx
mov dword [esp + 0x18], eax
mov dword [0x70e480], edx
mov edx, dword [0x70e464]
add edx, 6
lea ebp, [ecx + ebp + 2]
cmp eax, edx
jle 0x4375da
mov eax, dword [esp + 0x1c]
mov edx, dword [0x70e47c]
mov edi, dword [0x70e490]
test eax, eax
je 0x437e5b
sub edi, dword [0x70e45c]
dec edi
mov ebp, dword [0x70e458]
mov ecx, dword [0x70e478]
mov eax, 0xfffffffe
add ecx, 0xfffffffc
sub eax, ebp
mov dword [esp + 0x18], 0
mov dword [0x70e480], ecx
lea edi, [edi + eax*4]
mov eax, dword [0x70e464]
add eax, 6
test eax, eax
jl 0x437f4b
mov ebx, dword [esp + 0x74]
test ecx, ecx
jl 0x437f21
cmp ecx, 0xe7
jge 0x437f21
lea eax, [edx + edx*8]
lea eax, [edx + eax*2]
lea eax, [edx + eax*4]
lea ebp, [ecx + eax*2]
add eax, ebp
mov eax, dword [eax*4 + 0x70e494]
cmp eax, 0xfff0000
mov dword [0x70e488], eax
jge 0x437f21
test dword [eax*4 + 0xaf598c], 0xeefed77f
jne 0x437f21
movsx eax, word [eax*2 + 0xb350dc]
test eax, eax
jle 0x437f21
lea ebp, [eax + eax*2]
shl ebp, 5
add ebp, eax
shl ebp, 2
cmp byte [ebp + 0xbcd65d], 0
jne 0x437f16
cmp word [ebp + 0xbcd718], 0
jne 0x437f16
push ebx
push esi
push edi
push eax
call fcn.00438e50
mov ecx, dword [0x70e480]
mov edx, dword [0x70e47c]
add esp, 0x10
movsx eax, word [ebp + 0xbcd600]
test eax, eax
jg 0x437ee0
mov eax, dword [0x70e458]
mov ebp, dword [0x70e464]
add ebp, 6
lea edi, [edi + eax + 2]
mov eax, dword [esp + 0x18]
inc eax
inc ecx
cmp eax, ebp
mov dword [esp + 0x18], eax
mov dword [0x70e480], ecx
jle 0x437e96
mov ebp, dword [esp + 0x1c]
mov ebx, dword [0x70e44c]
mov eax, dword [esp + 0x28]
mov edx, dword [0x70e47c]
xor ecx, ecx
test ebp, ebp
sete cl
add esi, ebx
inc eax
inc edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x70e460]
mov dword [0x70e47c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
lea edx, [ecx + edx + 0xe]
cmp eax, edx
jl 0x436bb0
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x60
ret
add byte [ebp + 0xb], dh
mov ecx, dword [0xeadc3c]
jmp case.0x437141.25
jle case.0x437141.25
mov esi, 2
jmp 0x448154
add byte [esi + 0x19], bh
lea ecx, [eax - 0xc80]
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jmp 0x448152
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
push esi
call fcn.00447fd0
push eax
push esi
push str._d__s
push 0x785064
call fcn.00561a36
add esp, 0x14
mov eax, 0x785064
pop esi
ret