Function at 0x43b630
Capabilities:
Log keystrokes via polling

Disassembly:
lea eax, [ecx + 0x4c]
push 0x10
push eax
call fcn.004e5490
ret
lea eax, [ecx + 0x4c]
push 0x19
push eax
call fcn.004e5490
ret
lea eax, [ecx + 0x4c]
push 9
push eax
call fcn.004e5490
ret
mov eax, dword [0x6059e8]
mov ecx, 1
cmp eax, 0xe5
je 0x43b65d
cmp eax, 0xea
je 0x43b65d
cmp eax, 0xeb
je 0x43b65d
cmp eax, 0xec
mov byte [0x6de514], 0
jne 0x43b663
mov byte [0x6de514], cl
mov edx, dword [0xbca300]
test edx, edx
je 0x43b947
mov edx, dword [0xe38dcc]
test edx, edx
je 0x43b689
mov dl, byte [0x605a5c]
test dl, dl
je 0x43b947
mov edx, dword [0x605994]
test edx, edx
jne 0x43b947
test eax, eax
jle 0x43b947
cmp dword [0x605a3c], ecx
jne 0x43b701
cmp eax, 0x7e
je 0x43b701
cmp eax, 0x84
je 0x43b701
cmp eax, 0x85
je 0x43b701
cmp eax, 0x7f
je 0x43b701
cmp eax, 0x80
je 0x43b701
cmp eax, 0x77
je 0x43b701
cmp eax, 0x82
je 0x43b701
cmp eax, 0x83
je 0x43b701
cmp eax, 0x8b
je 0x43b701
cmp eax, 0xd6
je 0x43b701
cmp eax, 0x58
je 0x43b701
cmp eax, 0x59
je 0x43b701
cmp eax, 0x5d
je 0x43b701
cmp eax, 0x81
jne 0x43b947
cmp eax, 7
je 0x43b93d
cmp eax, 0x5a
je 0x43b93d
cmp eax, 8
jne 0x43b71d
jmp 0x43c780
cmp eax, 0x52
jne 0x43b727
jmp 0x43c980
cmp eax, 0x53
jne 0x43b731
jmp 0x43c980
cmp eax, 0x28
jne 0x43b73b
jmp 0x43d720
cmp eax, 0x2c
jne 0x43b745
jmp 0x43d720
cmp eax, 0x2d
jne 0x43b74f
jmp 0x43d720
cmp eax, 0xd2
jne 0x43b75b
jmp 0x441490
cmp eax, 0xd5
jne 0x43b767
jmp 0x541c00
cmp eax, 0xe1
jne 0x43b778
mov ecx, 0x6fd5d8
jmp 0x40d870
cmp eax, 0xe6
jne 0x43b789
mov ecx, 0x6de650
jmp 0x401420
cmp eax, 0xe3
jne 0x43b79a
mov ecx, 0x6fd368
jmp 0x416f90
cmp eax, 0xe5
jne 0x43b7ab
mov ecx, 0x6f9320
jmp 0x5456e0
cmp eax, 0xea
jne 0x43b7bc
mov ecx, 0x6f5648
jmp 0x558b80
cmp eax, 0xeb
jne 0x43b7cd
mov ecx, 0x6de9e0
jmp 0x555e20
cmp eax, 0xec
jne 0x43b7de
mov ecx, 0x6e9188
jmp 0x54f410
cmp eax, 0xe4
jne 0x43b7ef
mov ecx, 0x6de548
jmp 0x4e6610
cmp eax, 0xde
jne 0x43b7fb
jmp 0x4debe0
cmp eax, 0x4a
jne 0x43b80e
push 0x20b
call fcn.0043df10
add esp, 4
ret
cmp eax, 0xb7
jne 0x43b81a
jmp 0x4edbb0
cmp eax, 0x4c
jne 0x43b82b
push 0
push ecx
call fcn.0043dd70
add esp, 8
ret
cmp eax, 0xb5
jne 0x43b83e
push 0
push ecx
call fcn.0043dd70
add esp, 8
ret
cmp eax, 0xb6
jne 0x43b853
push 0x20d
call fcn.0043df10
add esp, 4
ret
cmp eax, 0x4b
jne 0x43b866
push 0x222
call fcn.0043df10
add esp, 4
ret
cmp eax, 0xc0
jne 0x43b87b
push 0x20c
call fcn.0043df10
add esp, 4
ret
cmp eax, 5
jne 0x43b885
jmp 0x43c590
cmp eax, 0x81
jne 0x43b891
jmp 0x43e090
cmp eax, 0x41
jl 0x43b8a5
cmp eax, 0x45
jg 0x43b8a5
push eax
call fcn.004c0f30
add esp, 4
ret
cmp eax, 0xd3
jne 0x43b8b6
push eax
call fcn.004c2f50
add esp, 4
ret
cmp eax, 0xd4
jne 0x43b8c7
push eax
call fcn.004c2f50
add esp, 4
ret
cmp eax, 0xab
jne 0x43b8d3
jmp 0x4bfcd0
cmp eax, 0xca
jne 0x43b8df
jmp 0x4bfcd0
cmp eax, 0x29
jl 0x43b8ee
cmp eax, 0x2b
jg 0x43b8ee
jmp 0x441f80
cmp eax, 0x88
jne 0x43b8fa
jmp 0x43d300
cmp eax, 0x1f
jne 0x43b909
push eax
call fcn.0043f5b0
add esp, 4
ret
cmp eax, 0x21
jne 0x43b918
push eax
call fcn.0043f5b0
add esp, 4
ret
cmp eax, 0x1e
jne 0x43b927
push eax
call fcn.0043f5b0
add esp, 4
ret
cmp eax, 0xd1
jne 0x43b938
push eax
call fcn.0043f5b0
add esp, 4
ret
jmp 0x43b950
push ecx
push ecx
call fcn.0043dd70
add esp, 8
ret
sub esp, 0x30
mov eax, dword [0xbc9714]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
jle 0x43b98a
push 0x52
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, 0x8001
jne 0x43b98a
mov eax, dword [0xbc9714]
dec eax
neg eax
sbb eax, eax
add eax, 2
mov dword [0xbc9714], eax
mov ecx, dword [0xbca300]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x6059e8]
lea eax, [ecx + ecx*4]
shl eax, 2
mov edx, dword [eax + 0x5d06e4]
mov edi, dword [eax + 0x5d06e8]
mov ebx, dword [eax + 0x5d06dc]
mov edx, dword [edx*8 + 0xf55bb4]
mov dword [esp + 0x1c], ebx
add edx, edi
cmp ecx, 0x48
mov dword [esp + 0x24], edx
jne 0x43b9d1
mov ebx, 3
mov dword [esp + 0x1c], ebx
mov eax, dword [0xbca2e0]
cmp eax, esi
jne 0x43b9eb
mov eax, dword [0xbca304]
mov ecx, dword [0xbca308]
mov esi, eax
mov edi, ecx
jmp 0x43ba1e
cmp eax, 2
jne 0x43ba04
mov eax, dword [0xbca304]
mov ecx, dword [0xbca308]
mov esi, eax
mov edi, ecx
sub esi, ebx
inc esi
jmp 0x43ba1e
cmp eax, 4
mov eax, dword [0xbca304]
mov esi, eax
jne 0x43ba13
sub esi, ebx
inc esi
mov ecx, dword [0xbca308]
mov edi, ecx
sub edi, ebx
inc edi
mov edx, dword [0x605a3c]
mov ebp, 1
test edx, edx
jne 0x43ba61
cmp eax, 3
jl 0x43ba59
mov edx, dword [0xbca2d0]
lea eax, [eax + ebx - 1]
add edx, 0xfffffffd
cmp eax, edx
jge 0x43ba59
cmp ecx, 3
jl 0x43ba59
lea eax, [ecx + ebx - 1]
mov ecx, dword [0xbca2d4]
add ecx, 0xfffffffd
cmp eax, ecx
jl 0x43ba61
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
push 0x80000
push ebp
push ebx
push edi
push esi
call fcn.00482650
add esp, 0x14
test eax, eax
je 0x43ba7e
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [0x6059cc]
test eax, eax
je 0x43ba9e
push 0x10800
push ebp
push 3
push edi
push esi
call fcn.00482650
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x605a48]
test eax, eax
je 0x43baba
push eax
push ebp
push 2
push edi
push esi
call fcn.00482720
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059c8]
test eax, eax
je 0x43bad6
push ebp
push ebp
push 2
push edi
push esi
call fcn.00482650
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059c4]
test eax, eax
je 0x43baf7
push 0x10004
push 3
push 2
push edi
push esi
call fcn.00482650
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059c0]
test eax, eax
je 0x43bb17
push 0x40000
push ebp
push 2
push edi
push esi
call fcn.00482650
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059bc]
test eax, eax
je 0x43bb38
push 0x4000
push 0
push 2
push edi
push esi
call fcn.004828e0
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059b8]
test eax, eax
je 0x43bb55
push 0x40
push 0
push ebp
push edi
push esi
call fcn.004828e0
add esp, 0x14
jmp 0x43bc2e
mov eax, dword [0x6059b4]
test eax, eax
je 0x43bb76
push eax
push 0x80
push 0
push ebx
push edi
push esi
call fcn.004829b0
add esp, 0x18
jmp 0x43bc2e
mov eax, dword [0x6059e8]
cmp eax, 0x7e
je 0x43bc62
cmp eax, 0x7f
je 0x43bc62
cmp eax, 0x80
je 0x43bc62
cmp eax, 0x82
je 0x43bc62
cmp eax, 0x83
je 0x43bc62
cmp eax, 0x84
jne 0x43bbce
mov edx, dword [0xbca300]
test byte [edx*4 + 0xaf598c], 4
jne 0x43be0f
jmp 0x43be07
cmp eax, 0x85
jne 0x43bbe6
mov eax, dword [0xbca300]
push 0
mov ecx, dword [eax*4 + 0xaf598c]
push ecx
jmp 0x43bbfc
cmp eax, 0x8b
jne 0x43bc11
mov edx, dword [0xbca300]
push ebp
mov eax, dword [edx*4 + 0xaf598c]
push eax
call fcn.004ec410
add esp, 8
test al, al
jne 0x43bced
jmp 0x43bce5
cmp eax, 0xd6
jne 0x43bc3b
mov ecx, dword [0xbca308]
mov edx, dword [0xbca304]
push ecx
push edx
call fcn.00477d40
add esp, 8
test eax, eax
jne 0x43bced
jmp 0x43bce5
cmp eax, 0x29
jl 0x43bcf2
cmp eax, 0x2b
jg 0x43bcf2
mov ecx, dword [0xbc9714]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x24], edx
jmp 0x43bcf2
mov edx, dword [0xbca308]
mov eax, dword [0xbca2ec]
mov ecx, dword [0xbca304]
add eax, edx
mov edx, dword [0xbca2e8]
push 4
add edx, ecx
push eax
push edx
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x43bc95
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [0x6059e8]
cmp eax, 0x7e
jne 0x43bcc4
cmp dword [0x605a28], 8
jle 0x43be0f
mov eax, dword [0xbca300]
test byte [eax*4 + 0xaf598c], 4
jne 0x43be0f
jmp 0x43be07
cmp eax, 0x82
je 0x43bcd2
cmp eax, 0x83
jne 0x43bcf2
mov ecx, dword [0xbca300]
push ecx
call fcn.0047ed60
add esp, 4
test eax, eax
jne 0x43bced
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [0x6059e8]
cmp eax, 0xbb
jne 0x43bd18
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp word [edx + 0xea5cf6], 0
je 0x43be0f
jmp 0x43be07
cmp eax, 0xbc
jne 0x43bd3d
mov eax, dword [0xeaac28]
imul eax, eax, 0x49d8
cmp word [eax + 0xea5cf6], 0
je 0x43be0f
jmp 0x43be07
cmp eax, 0xbd
jne 0x43bd63
mov ecx, dword [0xeaac28]
imul ecx, ecx, 0x49d8
cmp word [ecx + 0xea5cf6], 0
je 0x43be0f
jmp 0x43be07
cmp eax, 0x4d
jne 0x43bd87
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
mov eax, dword [edx + 0xea620c]
test eax, eax
je 0x43be0f
jmp 0x43be07
cmp eax, 0x4e
jne 0x43bda3
mov eax, dword [0xeaac28]
imul eax, eax, 0x49d8
mov ecx, dword [eax + 0xea620c]
test ecx, ecx
je 0x43be0f
jmp 0x43be07
cmp eax, 0x4f
jne 0x43bdc0
mov ecx, dword [0xeaac28]
imul ecx, ecx, 0x49d8
mov eax, dword [ecx + 0xea620c]
test eax, eax
je 0x43be0f
jmp 0x43be07
cmp eax, 0x5f
jne 0x43bdd0
mov eax, dword [0x705c6c]
test eax, eax
je 0x43be0f
jmp 0x43be07
cmp eax, 0x32
jne 0x43bded
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
mov eax, dword [edx + 0xea5e70]
test eax, eax
je 0x43be0f
jmp 0x43be07
cmp eax, 0x5e
jne 0x43be0f
mov eax, dword [0xeaac28]
imul eax, eax, 0x49d8
mov ecx, dword [eax + 0xea6240]
test ecx, ecx
je 0x43be0f
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [0xbca308]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x38]
push ecx
mov ecx, dword [0xbca304]
push edx
push eax
push ecx
call fcn.004f0ba0
mov eax, dword [esp + 0x40]
mov edx, dword [0x70e44c]
add eax, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov ebx, eax
mov eax, dword [0xbca2e0]
mov esi, dword [edx*4 + 0x5cfcd4]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x4c], ebx
cdq
sub eax, edx
mov dword [esp + 0x3c], ebp
mov edi, eax
mov eax, dword [0x6059e8]
push eax
mov dword [esp + 0x30], esi
sar edi, 1
mov byte [esp + 0x25], 0
mov byte [esp + 0x26], 0
call fcn.0046fde0
add esp, 0x14
mov byte [esp + 0x13], al
mov eax, dword [0x6059e8]
test esi, esi
jle 0x43bfee
lea ecx, [edi + edi*8]
mov dword [esp + 0x34], esi
shl ecx, 4
add ecx, 0x5cfe10
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx]
add ecx, edx
mov esi, dword [ecx*4 + 0xd05720]
test esi, esi
je 0x43bed0
cmp byte [esi + 0x18], 0
jne 0x43bed0
mov ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
jmp 0x43bfd4
mov esi, dword [ecx*4 + 0xaf598c]
test esi, 0x10000
je 0x43bf06
mov cl, byte [esp + 0x12]
test cl, cl
je 0x43beef
mov dword [esp + 0x14], 1
mov cl, byte [esp + 0x13]
mov byte [esp + 0x11], 1
test cl, cl
jne 0x43bf1b
mov dword [esp + 0x14], 1
jmp 0x43bf1b
mov cl, byte [esp + 0x11]
test cl, cl
je 0x43bf16
mov dword [esp + 0x14], 1
mov byte [esp + 0x12], 1
and esi, 0xeefed77f
cmp eax, 0x3b
je 0x43bf34
cmp eax, 0xac
je 0x43bf34
cmp eax, 0xad
jne 0x43bf3a
and esi, 0xff3fbfff
cmp eax, 0x38
jne 0x43bf44
and esi, 0xffffffbf
jmp 0x43bfad
cmp eax, 0x26
jne 0x43bf4e
and esi, 0xffffffbf
jmp 0x43bfad
cmp eax, 0x8a
jne 0x43bf5a
and esi, 8
jmp 0x43bfad
cmp eax, 0x7f
je 0x43bf6b
cmp eax, 0x80
je 0x43bf6b
cmp eax, 0x77
jne 0x43bf6e
and esi, 0xffffffbf
cmp eax, 0x7e
jne 0x43bf81
cmp dword [0x605a28], 8
jg 0x43bfb9
and esi, 0xffffffbf
jmp 0x43bfad
cmp eax, 0x82
je 0x43bf8f
cmp eax, 0x83
jne 0x43bf91
xor esi, esi
cmp eax, 0x84
je 0x43bfb9
cmp eax, 0x8b
je 0x43bfb9
cmp eax, 0x85
je 0x43bfb9
cmp eax, 0xd6
je 0x43bfb9
test esi, esi
je 0x43bfb9
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
add ecx, edx
cmp word [ecx*2 + 0xb350dc], 0
je 0x43bfd4
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
add edx, 4
dec ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], ecx
jne 0x43bea1
cmp eax, 0x26
jne 0x43c037
lea edx, [edi + edi*8]
mov esi, 1
shl edx, 4
mov eax, dword [edx + 0x5cfe10]
mov edx, dword [esp + 0x20]
add eax, edx
test byte [eax*4 + 0xaf598c], 0x40
je 0x43c018
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [0xbc9768], ecx
call fcn.0047b920
test eax, eax
jne 0x43c030
mov esi, 1
mov eax, dword [0x6059e8]
jmp 0x43c03b
mov esi, dword [esp + 0x14]
cmp eax, 0x8a
jne 0x43c077
lea edx, [edi + edi*8]
shl edx, 4
mov ecx, dword [edx + 0x5cfe10]
mov edx, dword [esp + 0x20]
add ecx, edx
mov ecx, dword [ecx*4 + 0xaf598c]
test cl, 0x40
je 0x43c072
test ecx, 0x10000
jne 0x43c072
mov cl, byte [edx + 0xadc36c]
test cl, cl
jbe 0x43c077
mov esi, 1
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp dword [edx + 0xea187c], 0xffffec78
jg 0x43c099
mov dword [esp + 0x18], 1
jmp 0x43c0a1
test esi, esi
je 0x43c203
mov edx, dword [esp + 0x1c]
test edx, edx
jle 0x43c586
lea ecx, [edi + edi*8]
mov dword [esp + 0x24], 0x5cfcf4
shl ecx, 4
add ecx, 0x5cfe10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
jmp 0x43c0d0
mov eax, dword [0x6059e8]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ebp, dword [0x70e44c]
mov ebx, dword [esp + 0x3c]
mov edi, dword [ecx - 4]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x28]
add edi, edx
mov edx, dword [esp + 0x20]
sub esi, ebp
mov ecx, dword [ecx]
add esi, ebx
add ecx, edx
mov dword [esp + 0x34], ecx
mov ebp, dword [ecx*4 + 0xaf598c]
mov ebx, ebp
and ebx, 0x10000
cmp eax, 0x26
jne 0x43c12b
mov eax, ecx
mov dword [0xbc9768], eax
call fcn.0047b920
test eax, eax
jne 0x43c126
mov ebp, 1
mov eax, dword [0x6059e8]
and ebp, 0xeefed77f
cmp eax, 0x7e
je 0x43c147
cmp eax, 0x7f
je 0x43c147
cmp eax, 0x80
je 0x43c147
cmp eax, 0x77
jne 0x43c14a
and ebp, 0xffffffbf
mov eax, dword [esp + 0x34]
cmp word [eax*2 + 0xb350dc], 0
je 0x43c15e
mov ebp, 1
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x43c176
mov ecx, dword [0xf56be4]
push 0xfffff863
push esi
push edi
push ecx
jmp 0x43c1cc
test ebp, ebp
je 0x43c181
push 0xfffff863
jmp 0x43c1c3
mov eax, dword [eax*4 + 0xd05720]
test eax, eax
je 0x43c1a2
mov cl, byte [eax + 0x18]
test cl, cl
jne 0x43c1a2
mov eax, dword [0xf56be4]
push 0xfffff863
push esi
push edi
push eax
jmp 0x43c1cc
test ebx, ebx
je 0x43c1be
mov al, byte [esp + 0x13]
test al, al
jne 0x43c1be
mov ecx, dword [0xf56be4]
push 0xfffff863
push esi
push edi
push ecx
jmp 0x43c1cc
push 0x1fe3
mov edx, dword [0xf56be4]
push esi
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
add edx, 4
add ecx, 8
dec eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
jne 0x43c0cb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, 0x7e
je 0x43c567
cmp eax, 0x84
je 0x43c567
cmp eax, 0x85
je 0x43c567
cmp eax, 0x7f
je 0x43c567
cmp eax, 0x80
je 0x43c567
cmp eax, 0x77
je 0x43c567
cmp eax, 0x82
je 0x43c567
cmp eax, 0x83
je 0x43c567
cmp eax, 0x8b
je 0x43c567
cmp eax, 0xd6
je 0x43c567
cmp eax, 0xc3
jne 0x43c2b9
mov ecx, dword [0x70e44c]
mov eax, dword [0xf564dc]
sub ebx, ecx
mov ecx, 0xf55bb0
push ebx
push ebp
push eax
mov word [0x70e120], 0x1fe3
call fcn.0053e590
mov ecx, dword [0xf564dc]
push ebx
push ebp
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x30
ret
cmp eax, 0xc2
jne 0x43c2ee
mov edx, dword [0x70e44c]
mov ecx, 0xf55bb0
sub ebx, edx
mov edx, dword [0xf56764]
push ebx
push ebp
push edx
mov word [0x70e120], 0x1fe3
call fcn.0053e590
mov eax, dword [0xf56764]
push ebx
push ebp
push eax
jmp 0x43c29e
push eax
mov ecx, 0xbca350
call fcn.00487f80
test al, al
je 0x43c372
mov edx, dword [0x70e44c]
mov ecx, dword [0xbca308]
sub ebx, edx
mov edx, dword [0xbca304]
push 3
push 3
push ecx
push edx
mov ecx, 0xbca350
mov word [0x70e120], 0x1fe3
call fcn.00489470
test al, al
je 0x43c36a
mov eax, dword [0xbca308]
mov ecx, dword [0xbca304]
mov esi, dword [0xf56544]
push 3
push 3
push eax
push ecx
mov ecx, 0xbca350
call fcn.00489050
mov ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, esi
mov esi, edx
jmp 0x43c3be
mov esi, dword [0xf56b24]
jmp 0x43c3be
mov eax, dword [0x6059e8]
cmp eax, 0xcf
je 0x43c385
cmp eax, 0xd0
jne 0x43c3d3
mov edx, dword [0x70e44c]
mov eax, dword [0x576144]
sub ebx, edx
dec eax
mov word [0x70e120], 0x1fe3
je 0x43c3b8
dec eax
je 0x43c3b0
dec eax
je 0x43c3a8
xor esi, esi
jmp 0x43c3be
mov esi, dword [0xf56d64]
jmp 0x43c3be
mov esi, dword [0xf56d5c]
jmp 0x43c3be
mov esi, dword [0xf56d54]
push ebx
push ebp
push esi
mov ecx, 0xf55bb0
call fcn.0053e590
push ebx
push ebp
push esi
jmp 0x43c29e
cmp eax, 0x48
je 0x43c4bb
cmp eax, 0xc1
je 0x43c4bb
cmp eax, 0x47
je 0x43c491
cmp eax, 0xbf
je 0x43c491
cmp eax, 0xa
jne 0x43c432
mov ecx, dword [0x70e44c]
mov word [0x70e120], 0x1fe3
sub ebx, ecx
mov ecx, dword [0xf5653c]
push ebx
push ebp
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf5653c]
push ebx
push ebp
push edx
jmp 0x43c29e
cmp eax, 0xb
jl 0x43c488
cmp eax, 0x1d
jg 0x43c488
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x43c586
mov esi, 0x5cfcf0
mov edi, eax
mov eax, dword [esi + 4]
mov ecx, dword [0x70e44c]
sub eax, ecx
mov edx, dword [0xf56be4]
add eax, ebx
push 0x1fe3
push eax
mov eax, dword [esi]
mov ecx, ebp
add ecx, eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add esi, 8
dec edi
jne 0x43c44f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, 0x38
je 0x43c586
mov ecx, dword [0x70e44c]
mov edi, dword [esp + 0x24]
sub ebx, ecx
mov ecx, 0xf55bb0
push ebx
push ebp
push edi
mov word [0x70e120], 0x1fe3
call fcn.0053e590
push ebx
push ebp
push edi
jmp 0x43c29e
mov edi, dword [0x70e44c]
mov ebp, dword [esp + 0x24]
mov esi, ebx
mov ecx, 0xf55bb0
sub esi, edi
mov edi, dword [esp + 0x2c]
push esi
push edi
push ebp
mov word [0x70e120], 0x1fe3
call fcn.0053e590
push esi
push edi
push ebp
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0xf566ac]
add esi, 0xffffffd6
add edi, 0xfffffffc
push esi
add eax, 0x11
push edi
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
mov ebp, 0x5cfcfc
mov esi, dword [ebp]
mov eax, dword [0x70e44c]
mov edi, dword [ebp - 4]
mov ecx, dword [esp + 0x2c]
sub esi, eax
add edi, ecx
mov ecx, dword [0xf566b4]
add esi, ebx
push esi
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf566b4]
push esi
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
add ebp, 8
cmp ebp, 0x5cfd3c
jl 0x43c510
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x30
ret
mov edi, dword [0x70e44c]
mov eax, dword [0xf56be4]
sub ebx, edi
push 0x1fe3
push ebx
push ebp
push eax
mov ecx, 0xf55bb0
call fcn.0053f4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
sub esp, 0x10
mov edx, dword [0xbca308]
push ebx
push ebp
push esi
mov esi, dword [0xbca300]
lea eax, [esp + 0x10]
push edi
mov edi, dword [0xf56c94]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
push eax
mov dword [esp + 0x20], 0
call fcn.004f0ba0
mov eax, dword [esp + 0x24]
mov ecx, dword [0x70e44c]
mov ebx, dword [esi*4 + 0xaf598c]
add eax, ecx
mov ecx, dword [esp + 0x2c]
add esp, 0x10
test ebx, 0x10000
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov ebp, eax
jne 0x43c605
mov eax, dword [esi*4 + 0xd05720]
test eax, eax
je 0x43c637
mov cl, byte [eax + 0x18]
test cl, cl
jne 0x43c637
mov edi, dword [0xf56c34]
push esi
call fcn.0051c510
add esp, 4
test eax, eax
jne 0x43c622
mov dword [esp + 0x10], 1
jmp 0x43c637
mov edx, dword [esi*4 + 0xb7482c]
sub edx, edi
push edx
push esi
call fcn.0051c5f0
add esp, 8
add edi, eax
and ebx, 0xeefed77f
test bh, 1
je 0x43c66c
mov edi, dword [0xf56b84]
push esi
call fcn.0051c390
add esp, 4
test eax, eax
jne 0x43c65f
mov dword [esp + 0x10], 1
jmp 0x43c6ba
push esi
call fcn.0051c460
add esp, 4
add edi, eax
jmp 0x43c6ba
test ebx, ebx
je 0x43c67a
mov dword [esp + 0x10], 1
jmp 0x43c6ba
mov al, byte [esi + 0xb285cc]
mov edi, dword [0xf56c44]
test al, 0x80
jne 0x43c690
mov edi, dword [0xf56c94]
mov eax, dword [0xbca300]
push 0x40
push eax
call fcn.0047ed30
add esp, 8
test eax, eax
jne 0x43c6ba
mov ecx, dword [0xbca300]
push 0x40
push ecx
call fcn.0047ed00
add esp, 8
test eax, eax
je 0x43c6ba
inc edi
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp dword [edx + 0xea187c], 0xffffec78
jg 0x43c6da
mov dword [esp + 0x10], 1
mov eax, dword [0xbca308]
mov edx, dword [0xbca2ec]
mov ecx, dword [0xbca304]
add edx, eax
mov eax, dword [0xbca2e8]
push 3
add eax, ecx
push edx
push eax
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x43c70c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43c738
mov edi, dword [0x70e44c]
mov ecx, dword [esp + 0x18]
mov edx, dword [0xf56be4]
sub ebp, edi
push 0xfffff863
push ebp
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov edx, dword [0x70e44c]
mov ebx, dword [esp + 0x18]
sub ebp, edx
mov ecx, 0xf55bb0
mov esi, ebp
mov word [0x70e120], 0x1fe3
push esi
push ebx
push edi
call fcn.0053e590
push esi
push ebx
push edi
mov ecx, 0xf55bb0
call fcn.0053f250
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x10
ret
sub esp, 8
mov edx, dword [0xbca308]
push ebx
push esi
lea eax, [esp + 8]
push edi
lea ecx, [esp + 0x10]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
push eax
xor esi, esi
call fcn.004f0ba0
mov ecx, dword [0x70e44c]
mov edx, dword [esp + 0x1c]
mov eax, dword [0x6059e4]
add esp, 0x10
add edx, ecx
test eax, eax
mov dword [esp + 0xc], edx
jne 0x43c820
mov eax, dword [0xbca308]
mov ecx, dword [0xbca2d8]
mov esi, dword [0xbca304]
lea edx, [eax + eax*8]
lea eax, [eax + edx*2]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
add eax, esi
mov dword [0xbc9768], eax
mov ecx, dword [eax*4 + 0xaf598c]
test cl, 0x40
je 0x43c802
push eax
call fcn.0051c630
mov esi, eax
add esp, 4
neg esi
sbb esi, esi
inc esi
jmp 0x43c82e
test ecx, 0xeefed77f
jne 0x43c829
mov eax, dword [eax*4 + 0xd05720]
test eax, eax
je 0x43c81c
mov cl, byte [eax + 0x18]
test cl, cl
je 0x43c829
xor esi, esi
jmp 0x43c82e
mov eax, dword [0xbc9724]
test eax, eax
jne 0x43c82e
mov esi, 1
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp dword [edx + 0xea187c], 0xffffec78
jg 0x43c84b
mov esi, 1
mov eax, dword [0xbca2ec]
mov ecx, dword [0xbca308]
mov edx, dword [0xbca2e8]
add eax, ecx
push 3
push eax
mov eax, dword [0xbca304]
add edx, eax
push edx
call fcn.0046f9a0
add esp, 0xc
test al, al
je 0x43c87a
mov esi, 1
mov edi, dword [esp + 0xc]
mov edx, dword [0x70e44c]
mov eax, dword [esp + 0x10]
sub edi, edx
test esi, esi
mov ebx, eax
je 0x43c8af
mov ecx, dword [0xf56be4]
push 0xfffff863
push edi
push eax
push ecx
mov ecx, 0xf55bb0
call fcn.0053f4f0
pop edi
pop esi
pop ebx
add esp, 8
ret
mov edx, dword [0xbca300]
mov word [0x70e120], 0x1fe3
mov dword [0xbc9768], edx
call fcn.0047e870
push 0
push 0xffffffffffffffff
push 0x10
push 0x5cc678
call fcn.00484be0
mov eax, dword [0xbc9768]
add esp, 0x10
test byte [eax*4 + 0xaf598c], 0x40
je 0x43c948
mov ecx, dword [0xbc9744]
test ecx, ecx
jne 0x43c910
mov ecx, dword [eax*4 + 0xaf55fc]
not cl
and ecx, 0xff
shr ecx, 6
and ecx, 1
mov dword [0xbc9748], ecx
test byte [eax + 0xb285cc], 0x80
je 0x43c92a
mov eax, dword [eax*4 + 0xb7482c]
mov ecx, dword [0xf56b84]
sub eax, ecx
jmp 0x43c951
call fcn.0047b920
test eax, eax
je 0x43c93e
mov edx, dword [0xbc9748]
lea eax, [edx + 0x30]
jmp 0x43c951
mov eax, dword [0xbc9748]
add eax, 0x30
jmp 0x43c951
mov ecx, dword [0xbc9748]
lea eax, [ecx + 0x30]
mov edx, dword [0xf56b84]
push edi
add edx, eax
push ebx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
pop edi
pop esi
mov word [0x70e120], 0
pop ebx
add esp, 8
ret
sub esp, 0xc
mov edx, dword [0xbca308]
lea eax, [esp + 4]
lea ecx, [esp + 8]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
push eax
call fcn.004f0ba0
mov ecx, dword [0x70e44c]
mov edx, dword [esp + 0x14]
mov eax, dword [0x6059e8]
add esp, 0x10
add edx, ecx
cmp eax, 0x52
mov dword [esp + 4], edx
jne 0x43c9cd
mov edx, dword [0xbca308]
mov eax, dword [0xbca304]
push 0
push edx
push eax
jmp 0x43c9dd
mov ecx, dword [0xbca308]
mov edx, dword [0xbca304]
push 1
push ecx
push edx
call fcn.0047f200
mov eax, dword [0xbca2e0]
add esp, 0xc
push ebx
push ebp
mov ebp, dword [0xbc96f4]
push esi
sub ebp, eax
push edi
jns 0x43c9fb
add ebp, 8
mov eax, dword [0x6059e8]
mov ebx, dword [0xbc96f8]
cmp eax, 0x53
mov edx, 5
jne 0x43ca1b
cmp ebx, edx
jge 0x43ca1b
mov ecx, 1
jmp 0x43ca28
mov esi, dword [0xbc96fc]
xor ecx, ecx
test esi, esi
sete cl
mov esi, dword [0xeaac28]
imul esi, esi, 0x49d8
cmp dword [esi + 0xea187c], 0xffffec78
jle 0x43ca48
test ecx, ecx
je 0x43caea
mov esi, dword [esp + 0x14]
mov ecx, dword [0x70e44c]
mov edi, dword [esp + 0x18]
sub esi, ecx
cmp ebx, 1
jge 0x43ca6c
mov eax, dword [0xf56be4]
push 0xfffff863
push esi
push edi
push eax
jmp 0x43ca7a
mov ecx, dword [0xf56be4]
push 0x1fe3
push esi
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov eax, dword [0xbc96f8]
cmp eax, 1
jle 0x43cffc
mov ecx, dword [0x70e45c]
lea edx, [eax - 1]
mov eax, dword [0x70e44c]
test ebp, ebp
jne 0x43caa8
add edi, ecx
jmp 0x43cac5
cmp ebp, 2
jne 0x43cab3
add edi, ecx
add esi, eax
jmp 0x43cac7
cmp ebp, 4
jne 0x43cabe
sub edi, ecx
add esi, eax
jmp 0x43cac7
cmp ebp, 6
jne 0x43cac7
sub edi, ecx
sub esi, eax
dec edx
jne 0x43caa0
mov edx, dword [0xf56be4]
push 0xfffff863
push esi
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x14]
mov ecx, dword [0x70e448]
mov edi, dword [esp + 0x18]
sub esi, ecx
mov ecx, dword [0x70e44c]
mov word [0x70e120], 0x1fe3
sub esi, ecx
cmp eax, 0x52
mov dword [0x70e13c], 0
mov ecx, 6
jne 0x43ccd8
mov eax, ebp
sub eax, 0
je 0x43cb46
sub eax, 2
je 0x43cb42
sub eax, 2
je 0x43cb3b
mov ebx, 2
jmp 0x43cb4b
mov ebx, 5
jmp 0x43cb4b
xor ebx, ebx
jmp 0x43cb4b
mov ebx, 3
mov eax, dword [0xf56d34]
push 0x1fe3
push esi
add eax, ebx
push edi
push eax
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov ecx, dword [0xf56d34]
push esi
add ecx, ebx
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0x70e13c]
mov edx, dword [0xd3b580]
mov eax, ecx
mov ebx, 1
shl eax, 4
inc ecx
mov dword [eax + 0x70e140], edx
mov edx, dword [0xd3b57c]
mov dword [eax + 0x70e144], edx
mov edx, dword [0xd3b578]
mov dword [eax + 0x70e148], edx
mov eax, dword [0xbc96f8]
cmp eax, ebx
mov dword [0x70e13c], ecx
jle 0x43cfb7
test ebp, ebp
jne 0x43cbcd
add edi, dword [0x70e45c]
jmp 0x43cc06
cmp ebp, 2
jne 0x43cbe4
mov edx, dword [0x70e45c]
mov ecx, dword [0x70e44c]
add edi, edx
add esi, ecx
jmp 0x43cc0c
cmp ebp, 4
jne 0x43cbfb
mov edx, dword [0x70e45c]
mov ecx, dword [0x70e44c]
sub edi, edx
add esi, ecx
jmp 0x43cc0c
cmp ebp, 6
jne 0x43cc0c
sub edi, dword [0x70e45c]
sub esi, dword [0x70e44c]
dec eax
cmp ebx, eax
jne 0x43cc67
mov eax, ebp
sub eax, 0
je 0x43cc55
sub eax, 2
je 0x43cc43
sub eax, 2
je 0x43cc31
mov ecx, dword [0xf56d34]
xor eax, eax
push esi
add ecx, eax
push edi
push ecx
jmp 0x43cc85
mov ecx, dword [0xf56d34]
mov eax, 3
push esi
add ecx, eax
push edi
push ecx
jmp 0x43cc85
mov ecx, dword [0xf56d34]
mov eax, 2
push esi
add ecx, eax
push edi
push ecx
jmp 0x43cc85
mov ecx, dword [0xf56d34]
mov eax, 5
push esi
add ecx, eax
push edi
push ecx
jmp 0x43cc85
test ebp, ebp
je 0x43cc75
cmp ebp, 4
mov eax, 1
jne 0x43cc7a
mov eax, 4
mov edx, dword [0xf56d34]
push esi
add edx, eax
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0x70e13c]
mov edx, dword [0xd3b580]
mov eax, ecx
shl eax, 4
inc ecx
inc ebx
mov dword [eax + 0x70e140], edx
mov edx, dword [0xd3b57c]
mov dword [eax + 0x70e144], edx
mov edx, dword [0xd3b578]
mov dword [eax + 0x70e148], edx
mov eax, dword [0xbc96f8]
cmp ebx, eax
mov dword [0x70e13c], ecx
jl 0x43cbc1
jmp 0x43cfb7
cmp ebx, 9
mov eax, 4
jne 0x43cce8
mov dword [esp + 0x10], eax
jmp 0x43cd31
cmp ebx, 0xa
jne 0x43ccf3
mov dword [esp + 0x10], eax
jmp 0x43cd31
cmp ebx, 0xb
je 0x43cd2d
cmp ebx, 0xc
je 0x43cd2d
cmp ebx, 0xd
jne 0x43cd08
mov dword [esp + 0x10], ecx
jmp 0x43cd31
cmp ebx, 0xe
jne 0x43cd13
mov dword [esp + 0x10], ecx
jmp 0x43cd31
cmp ebx, 0xf
jne 0x43cd22
mov dword [esp + 0x10], 7
jmp 0x43cd31
xor edx, edx
cmp ebx, 0x10
setne dl
add edx, 7
mov dword [esp + 0x10], edx
test ebp, ebp
jne 0x43cd48
mov edx, dword [0xf56d34]
lea eax, [esi - 0x32]
lea ecx, [edi - 3]
push eax
push ecx
add edx, 0xb
jmp 0x43cd8c
cmp ebp, 2
jne 0x43cd60
mov edx, dword [0xf56d34]
lea eax, [esi - 0xc]
lea ecx, [edi - 1]
push eax
push ecx
add edx, 6
jmp 0x43cd8c
cmp ebp, eax
jne 0x43cd77
mov edx, dword [0xf56d34]
lea eax, [esi - 0xc]
lea ecx, [edi - 0x1e]
push eax
push ecx
add edx, 9
jmp 0x43cd8c
cmp ebp, ecx
jne 0x43cd97
mov edx, dword [0xf56d34]
lea eax, [esi - 0x35]
lea ecx, [edi - 0x17]
push eax
push ecx
add edx, 8
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0x70e13c]
mov ebx, dword [0xd3b580]
mov eax, ecx
mov edx, dword [0x70e44c]
shl eax, 4
inc ecx
mov dword [eax + 0x70e140], ebx
mov ebx, dword [0xd3b57c]
mov dword [eax + 0x70e144], ebx
mov ebx, dword [0xd3b578]
mov dword [eax + 0x70e148], ebx
mov dword [0x70e13c], ecx
mov ecx, dword [0xbc96f8]
mov ebx, 1
cmp ecx, ebx
jle 0x43cfb7
mov eax, dword [0x70e45c]
test ebp, ebp
jne 0x43cdf3
add edi, eax
jmp 0x43ce10
cmp ebp, 2
jne 0x43cdfe
add edi, eax
add esi, edx
jmp 0x43ce12
cmp ebp, 4
jne 0x43ce09
sub edi, eax
add esi, edx
jmp 0x43ce12
cmp ebp, 6
jne 0x43ce12
sub edi, eax
sub esi, edx
dec ecx
cmp ebx, ecx
je 0x43cfa8
cmp ebx, 1
je 0x43cfa8
mov eax, dword [0xbc96f8]
add eax, 0xfffffffe
cmp ebx, eax
jne 0x43ce9e
test ebp, ebp
jne 0x43ce4a
mov eax, dword [0xf56d34]
lea ecx, [esi - 0x18]
lea edx, [edi + 1]
push ecx
add eax, 9
push edx
push eax
jmp 0x43cf5d
cmp ebp, 2
jne 0x43ce65
mov eax, dword [0xf56d34]
lea ecx, [esi - 0x27]
lea edx, [edi + 7]
push ecx
add eax, 8
push edx
push eax
jmp 0x43cf5d
cmp ebp, 4
jne 0x43ce80
mov eax, dword [0xf56d34]
lea ecx, [esi - 0x23]
lea edx, [edi - 0x22]
push ecx
add eax, 0xb
push edx
push eax
jmp 0x43cf5d
cmp ebp, 6
jne 0x43cf67
mov eax, dword [0xf56d34]
lea ecx, [esi - 0x16]
lea edx, [edi - 0x1d]
push ecx
add eax, ebp
push edx
push eax
jmp 0x43cf5d
cmp ebx, dword [esp + 0x10]
jne 0x43cf05
test ebp, ebp
jne 0x43cebb
mov edx, dword [0xf56d34]
lea ecx, [esi - 0x26]
push ecx
push edi
add edx, 0xd
jmp 0x43cf5c
cmp ebp, 2
jne 0x43ced6
mov edx, dword [0xf56d34]
lea eax, [esi - 0x26]
lea ecx, [edi + 7]
push eax
push ecx
add edx, 0xc
jmp 0x43cf5c
cmp ebp, 4
jne 0x43ceec
mov ecx, dword [0xf56d34]
lea eax, [esi - 0x26]
push eax
add ecx, 0xd
push edi
push ecx
jmp 0x43cf5d
cmp ebp, 6
jne 0x43cf67
mov ecx, dword [0xf56d34]
lea edx, [esi - 0x26]
lea eax, [edi + 7]
push edx
add ecx, 0xc
push eax
push ecx
jmp 0x43cf5d
test ebp, ebp
jne 0x43cf19
mov eax, dword [0xf56d34]
lea edx, [esi - 0x25]
push edx
add eax, 0xa
push edi
push eax
jmp 0x43cf5d
cmp ebp, 2
jne 0x43cf31
mov eax, dword [0xf56d34]
lea ecx, [esi - 0x26]
lea edx, [edi + 7]
push ecx
add eax, 7
push edx
push eax
jmp 0x43cf5d
cmp ebp, 4
jne 0x43cf46
mov edx, dword [0xf56d34]
lea ecx, [esi - 0x25]
push ecx
push edi
add edx, 0xa
jmp 0x43cf5c
cmp ebp, 6
jne 0x43cf67
mov edx, dword [0xf56d34]
lea eax, [esi - 0x26]
lea ecx, [edi + 7]
push eax
push ecx
add edx, 7
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0x70e13c]
mov edx, dword [0xd3b580]
mov eax, ecx
shl eax, 4
inc ecx
mov dword [eax + 0x70e140], edx
mov edx, dword [0xd3b57c]
mov dword [eax + 0x70e144], edx
mov edx, dword [0xd3b578]
mov dword [eax + 0x70e148], edx
mov edx, dword [0x70e44c]
mov eax, dword [0x70e45c]
mov dword [0x70e13c], ecx
mov ecx, dword [0xbc96f8]
inc ebx
cmp ebx, ecx
jl 0x43cdeb
test ebp, ebp
je 0x43cfc0
cmp ebp, 6
jne 0x43cff3
mov eax, dword [0x70e13c]
dec eax
test eax, eax
jl 0x43cff3
mov esi, eax
lea edi, [eax + 1]
shl esi, 4
add esi, 0x70e144
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [esi - 4]
push ecx
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
sub esi, 0x10
dec edi
jne 0x43cfd8
mov word [0x70e120], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
sub esp, 0xfbc
mov edx, dword [0xbca308]
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
lea ecx, [esp + 0x18]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
push eax
mov byte [0xbca314], 0
mov byte [esp + 0x23], 0
call fcn.004f0ba0
mov ecx, dword [0x70e44c]
mov edx, dword [esp + 0x24]
mov eax, dword [0xbca310]
add esp, 0x10
add edx, ecx
test eax, eax
mov dword [esp + 0x14], edx
jne 0x43d51a
mov edx, dword [0xbca308]
mov eax, dword [0xbca304]
push 0
push edx
push eax
call fcn.0047f3e0
mov ebp, dword [0xbc96e0]
add esp, 0xc
test ebp, ebp
jge 0x43d376
add ebp, 8
mov ecx, dword [0xbca308]
mov edx, dword [0xbca304]
mov edi, dword [esp + 0x14]
mov esi, dword [0x70e44c]
mov ebx, dword [esp + 0x18]
push 0
push 1
push ecx
push edx
sub edi, esi
mov dword [0x70e13c], 0
call fcn.0047cc70
mov dword [esp + 0x2c], eax
mov eax, dword [0xbca300]
push eax
movsx esi, word [eax*2 + 0xb4e6fc]
call fcn.00486cf0
add esp, 0x14
test eax, eax
je 0x43d469
mov eax, esi
shl eax, 5
add eax, esi
cmp dword [eax*8 + 0x799a9c], 0xffffffff
jne 0x43d469
mov ecx, dword [0xbc96e4]
mov edx, dword [0xbca308]
mov eax, dword [0xbca304]
push ecx
push edi
push ebx
push edx
push eax
push ebp
mov byte [esp + 0x2b], 1
call fcn.0043d030
mov ecx, dword [0x5d1184]
mov eax, dword [0x5d1188]
push ebp
mov word [0x70e120], 0x1fe3
mov esi, dword [ecx*8 + 0xf55bb4]
add esi, eax
call fcn.0043d010
mov edx, dword [esp + 0x30]
mov ecx, dword [0x70e44c]
add esp, 0x1c
add esi, eax
mov eax, dword [esp + 0x18]
sub edx, ecx
push edx
push eax
push esi
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [esp + 0x14]
mov eax, dword [0x70e44c]
mov edx, dword [esp + 0x18]
sub ecx, eax
push ecx
push edx
push esi
mov ecx, 0xf55bb0
call fcn.0053f250
mov word [0x70e120], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x43d4bb
mov eax, dword [0xbc96e4]
mov ecx, dword [0xbca308]
mov edx, dword [0xbca304]
push eax
push edi
push ebx
push ecx
push edx
push ebp
call fcn.0043d030
add esp, 0x18
test al, al
je 0x43d4bb
push 0
push 0
mov byte [0xbca314], 1
call fcn.0043dd70
add esp, 8
mov word [0x70e120], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfbc
ret
mov al, byte [esp + 0x13]
test al, al
jne 0x43d706
mov byte [0xbca314], 0
mov esi, 0x5cfcf0
mov eax, dword [esi + 4]
mov edi, dword [0x70e44c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
mov ebp, dword [esp + 0x18]
sub eax, edi
add eax, edx
mov edx, dword [0xf56be4]
push 0xfffff863
add ecx, ebp
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add esi, 8
cmp esi, 0x5cfd10
jl 0x43d4d3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfbc
ret
mov ecx, 0xfa
or eax, 0xffffffff
lea edi, [esp + 0x2c]
push 0
rep stosd dword es:[edi], eax
mov eax, dword [0xbca308]
mov ecx, dword [0xbca304]
push eax
push ecx
call fcn.0047cbd0
mov ecx, dword [0xbc9800]
mov ebx, eax
mov eax, ecx
xor edx, edx
shl eax, 5
add eax, ecx
xor ecx, ecx
shl eax, 3
mov dword [esp + 0x2c], 0
mov dl, byte [eax + 0x7999db]
mov cl, byte [eax + 0x799a82]
movsx edi, word [eax + 0x7999de]
movsx ebp, word [eax + 0x7999e0]
mov dword [esp + 0x30], edx
mov edx, dword [0xbca300]
mov esi, ecx
push edx
shl esi, 1
call fcn.00486cf0
add esp, 0x10
test eax, eax
je 0x43d639
mov eax, dword [0xbca300]
mov ecx, dword [0xbc9800]
movsx eax, word [eax*2 + 0xb4e6fc]
cmp eax, ecx
je 0x43d639
mov ecx, eax
shl ecx, 5
add ecx, eax
cmp dword [ecx*8 + 0x799a9c], 0xffffffff
jne 0x43d639
mov edx, dword [0x5d1184]
lea eax, [ebx + ebx]
push eax
mov word [0x70e120], 0x1fe3
mov esi, dword [edx*8 + 0xf55bb4]
mov edx, dword [0x5d1188]
add esi, edx
call fcn.0043d010
mov ecx, dword [esp + 0x18]
mov edi, dword [0x70e44c]
mov edx, dword [esp + 0x1c]
add esp, 4
sub ecx, edi
add esi, eax
push ecx
push edx
push esi
mov ecx, 0xf55bb0
call fcn.0053e590
mov eax, dword [esp + 0x14]
mov ebx, dword [0x70e44c]
mov ecx, dword [esp + 0x18]
sub eax, ebx
push eax
push ecx
push esi
mov ecx, 0xf55bb0
call fcn.0053f250
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0xfbc
ret
lea edx, [esp + 0x1c]
lea eax, [esp + 0x28]
push edx
push eax
push ebp
push edi
call fcn.004f0ba0
mov ecx, dword [0xbc96e4]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
push ebp
push edi
push esi
call fcn.0043d030
lea ecx, [esp + 0x48]
add esi, 4
lea edx, [esp + 0x54]
push ecx
and esi, 0x80000007
push edx
jns 0x43d67d
dec esi
or esi, 0xfffffff8
inc esi
mov ecx, dword [esp + 0x54]
mov edx, dword [0xbca308]
lea eax, [ebx + ebx]
push esi
push eax
mov eax, dword [0xbca304]
push ecx
push ebp
push edi
push edx
push eax
call fcn.00486a30
add esp, 0x4c
cmp eax, 1
jne 0x43d6bf
push 0
push 0
mov byte [0xbca314], al
call fcn.0043dd70
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfbc
ret
mov byte [0xbca314], 0
mov esi, 0x5cfcf0
mov ecx, dword [esi + 4]
mov edx, dword [0x70e44c]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
sub ecx, edx
mov edx, dword [esi]
add ecx, eax
mov eax, dword [0xf56be4]
push 0xfffff863
add edx, ebx
push ecx
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053f4f0
add esi, 8
cmp esi, 0x5cfd10
jl 0x43d6cb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfbc
ret
sub esp, 0x1c
mov edx, dword [0xbca308]
push ebx
push ebp
push esi
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x10]
push eax
mov eax, dword [0xbca304]
push ecx
xor esi, esi
push edx
push eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], esi
call fcn.004f0ba0
mov ecx, dword [esp + 0x28]
mov ebx, dword [0x70e44c]
mov eax, dword [0xbcb9b4]
add esp, 0x10
add ecx, ebx
cmp eax, 6
mov dword [esp + 0x18], ecx
mov eax, 1
jl 0x43d777
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp dword [edx + 0xea187c], 0xffffec78
jg 0x43d797
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov eax, dword [0x5d0b50]
mov edi, dword [eax*4 + 0x5cfcd4]
mov eax, dword [0xbca2e0]
cdq
sub eax, edx
mov dword [esp + 0x20], edi
sar eax, 1
cmp edi, esi
jle 0x43d808
lea esi, [eax + eax*8]
mov ebp, edi
shl esi, 4
add esi, 0x5cfe10
mov edx, dword [esi]
mov edi, dword [0xbca300]
add edx, edi
test dword [edx*4 + 0xaf598c], 0xeeffd77f
jne 0x43d7f6
mov edi, dword [edx*4 + 0xd05720]
test edi, edi
je 0x43d7eb
cmp byte [edi + 0x18], 0
je 0x43d7f6
cmp word [edx*2 + 0xb350dc], 0
je 0x43d7fe
mov dword [esp + 0x14], 1
add esi, 4
dec ebp
jne 0x43d7c3
mov edi, dword [esp + 0x20]
mov ebp, dword [eax*4 + 0x5cdf78]
mov edx, dword [0xbca300]
add ebp, edx
mov edx, dword [0x5d0b14]
mov edx, dword [edx*4 + 0x5cfcd4]
test edx, edx
jle 0x43d87f
lea esi, [eax + eax*8]
mov dword [esp + 0x24], edx
shl esi, 4
add esi, 0x5cfe10
mov edx, dword [esi]
add edx, ebp
test dword [edx*4 + 0xaf598c], 0xeeffd77f
jne 0x43d865
mov edi, dword [edx*4 + 0xd05720]
test edi, edi
je 0x43d85a
cmp byte [edi + 0x18], 0
je 0x43d865
cmp word [edx*2 + 0xb350dc], 0
je 0x43d86d
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x24]
add esi, 4
dec edx
mov dword [esp + 0x24], edx
jne 0x43d838
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
test edx, edx
je 0x43da99
mov edx, dword [esp + 0x10]
mov ebp, dword [0xbca300]
test edi, edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
jle 0x43d95a
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x20]
shl esi, 4
mov edi, 0x5cfcf4
add esi, 0x5cfe10
mov dword [esp + 0x24], eax
jmp 0x43d8c6
mov ebx, dword [0x70e44c]
mov ecx, dword [edi - 4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [edi]
sub eax, ebx
add eax, edx
mov edx, dword [esi]
add edx, ebp
test dword [edx*4 + 0xaf598c], 0xeeffd77f
jne 0x43d923
mov edx, dword [edx*4 + 0xd05720]
test edx, edx
je 0x43d8fc
mov bl, byte [edx + 0x18]
test bl, bl
je 0x43d923
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x43d913
push 0xfffff863
push eax
mov eax, dword [0xf56be4]
push ecx
push eax
jmp 0x43d931
push 0x1fe3
push eax
push ecx
mov ecx, dword [0xf56be4]
push ecx
jmp 0x43d931
mov edx, dword [0xf56be4]
push 0xfffff863
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov eax, dword [esp + 0x24]
add esi, 4
add edi, 8
dec eax
mov dword [esp + 0x24], eax
jne 0x43d8c0
mov ecx, dword [esp + 0x18]
mov ebx, dword [0x70e44c]
mov eax, dword [0xbca2e0]
mov esi, dword [0xbca300]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x5cdf78]
mov edi, dword [eax*4 + 0x5d2824]
add edx, esi
mov esi, dword [eax*8 + 0x5d2804]
imul esi, dword [0x70e45c]
mov dword [esp + 0x28], edx
mov edx, dword [eax*8 + 0x5d27e4]
imul edx, dword [0x70e458]
add esi, edx
mov edx, dword [esp + 0x10]
add esi, edi
mov edi, dword [eax*8 + 0x5d2808]
add esi, edx
mov edx, dword [eax*8 + 0x5d27e8]
imul edx, dword [0x70e448]
imul edi, ebx
add ecx, edx
add edi, ecx
mov ecx, dword [0x5d0b14]
mov ecx, dword [ecx*4 + 0x5cfcd4]
test ecx, ecx
jle 0x43dd68
lea edx, [eax + eax*8]
mov ebp, 0x5cfcf4
shl edx, 4
add edx, 0x5cfe10
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jmp 0x43d9f6
mov ebx, dword [0x70e44c]
mov edx, dword [edx]
mov eax, edi
mov ecx, dword [ebp - 4]
sub eax, ebx
mov ebx, dword [ebp]
add ecx, esi
add eax, ebx
mov ebx, dword [esp + 0x28]
add edx, ebx
test dword [edx*4 + 0xaf598c], 0xeeffd77f
jne 0x43da5c
mov ebx, dword [edx*4 + 0xd05720]
test ebx, ebx
je 0x43da2a
cmp byte [ebx + 0x18], 0
je 0x43da5c
cmp word [edx*2 + 0xb350dc], 0
jne 0x43da5c
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x43da4d
mov edx, dword [0xf56be4]
push 0xfffff863
push eax
push ecx
push edx
jmp 0x43da6a
push 0x1fe3
push eax
mov eax, dword [0xf56be4]
push ecx
push eax
jmp 0x43da6a
push 0xfffff863
push eax
push ecx
mov ecx, dword [0xf56be4]
push ecx
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add edx, 4
add ebp, 8
dec eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
jne 0x43d9f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [0xbca2e0]
test edx, edx
je 0x43dc25
cmp edx, 6
je 0x43dc25
mov esi, dword [eax*8 + 0x5d2804]
mov edx, dword [eax*8 + 0x5d27e4]
imul esi, dword [0x70e45c]
imul edx, dword [0x70e458]
mov edi, dword [eax*4 + 0x5d2824]
add esi, edx
mov edx, dword [esp + 0x10]
add esi, edi
mov edi, dword [eax*8 + 0x5d27e8]
add esi, edx
mov edx, dword [eax*8 + 0x5d2808]
imul edi, dword [0x70e448]
dec edx
mov eax, dword [0xf5662c]
imul edx, ebx
add ecx, edx
mov word [0x70e120], 0x1fe3
add edi, ecx
inc eax
push edi
push esi
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0xf5662c]
push edi
inc ecx
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
mov esi, dword [esp + 0x18]
mov ebx, dword [0x70e44c]
mov edi, dword [esp + 0x10]
mov edx, dword [0xf5662c]
sub esi, ebx
mov ecx, 0xf55bb0
push esi
push edi
push edx
call fcn.0053e590
mov eax, dword [0xf5662c]
push esi
push edi
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0x6059e8]
cmp eax, 0x28
jne 0x43dba3
mov ecx, dword [0x70e44c]
mov eax, dword [0x70e45c]
lea edx, [ecx + esi - 5]
lea ecx, [eax + edi + 4]
push edx
mov edx, dword [0xf5662c]
add edx, 3
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x1c
ret
cmp eax, 0x2d
jne 0x43dbe2
mov eax, dword [0x70e44c]
mov edx, dword [0x70e45c]
lea ecx, [eax + esi - 5]
lea eax, [edx + edi + 4]
push ecx
mov ecx, dword [0xf5662c]
add ecx, 4
push eax
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x1c
ret
cmp eax, 0x2c
jne 0x43dd5f
mov edx, dword [0x70e44c]
mov ecx, dword [0x70e45c]
lea eax, [edx + esi - 5]
lea edx, [ecx + edi + 4]
push eax
mov eax, dword [0xf5662c]
add eax, 2
push edx
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
pop edi
pop esi
pop ebp
mov word [0x70e120], 0
pop ebx
add esp, 0x1c
ret
mov edi, dword [esp + 0x10]
sub ecx, ebx
mov esi, ecx
mov ecx, dword [0xf5662c]
push esi
push edi
push ecx
mov ecx, 0xf55bb0
mov word [0x70e120], 0x1fe3
call fcn.0053e590
mov edx, dword [0xf5662c]
push esi
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0x6059e8]
cmp eax, 0x28
jne 0x43dc87
mov eax, dword [0x70e44c]
mov edx, dword [0x70e45c]
lea ecx, [eax + esi - 5]
lea eax, [edx + edi + 4]
push ecx
mov ecx, dword [0xf5662c]
add ecx, 3
push eax
push ecx
jmp 0x43dcd1
cmp eax, 0x2d
jne 0x43dcad
mov edx, dword [0x70e44c]
mov ecx, dword [0x70e45c]
lea eax, [edx + esi - 5]
lea edx, [ecx + edi + 4]
push eax
mov eax, dword [0xf5662c]
add eax, 4
push edx
push eax
jmp 0x43dcd1
cmp eax, 0x2c
jne 0x43dcdb
mov ecx, dword [0x70e44c]
mov eax, dword [0x70e45c]
lea edx, [ecx + esi - 5]
lea ecx, [eax + edi + 4]
push edx
mov edx, dword [0xf5662c]
add edx, 2
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053e590
mov eax, dword [0xbca2e0]
cdq
sub eax, edx
sar eax, 1
mov esi, dword [eax*8 + 0x5d2804]
mov ecx, dword [eax*8 + 0x5d27e4]
imul esi, dword [0x70e45c]
imul ecx, dword [0x70e458]
mov edx, dword [eax*4 + 0x5d2824]
mov edi, dword [eax*8 + 0x5d27e8]
add esi, ecx
mov ecx, dword [esp + 0x10]
imul edi, dword [0x70e448]
add esi, edx
mov edx, dword [eax*8 + 0x5d2808]
add esi, ecx
dec edx
imul edx, dword [0x70e44c]
mov eax, dword [esp + 0x18]
mov ecx, dword [0xf5662c]
add eax, edx
add edi, eax
inc ecx
push edi
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf5662c]
push edi
inc edx
push esi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov word [0x70e120], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
sub esp, 8
mov edx, dword [0xbca308]
push ebx
push esi
lea eax, [esp + 8]
push edi
lea ecx, [esp + 0x10]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
push eax
call fcn.004f0ba0
mov eax, dword [0x6059e8]
mov ecx, dword [0x70e44c]
mov esi, dword [esp + 0x1c]
push 0
lea eax, [eax + eax*4]
add esi, ecx
shl eax, 2
mov dword [esp + 0x20], esi
mov edx, dword [eax + 0x5d06e4]
mov ecx, dword [eax + 0x5d06e8]
mov eax, dword [0xbca308]
mov esi, dword [edx*8 + 0xf55bb4]
push eax
add esi, ecx
mov ecx, dword [0xbca304]
push ecx
call fcn.0047d350
add esp, 0x1c
test eax, eax
jne 0x43e14a
mov edi, dword [esp + 0xc]
mov ecx, dword [0x70e44c]
mov edx, dword [0xbc96d4]
mov eax, dword [esp + 0x10]
sub edi, ecx
add esi, edx
push edi
push eax
push esi
mov ecx, 0xf55bb0
mov ebx, eax
mov word [0x70e120], 0x1fe3
call fcn.0053e590
push edi
push ebx
push esi
mov ecx, 0xf55bb0
call fcn.0053f250
pop edi
pop esi
mov word [0x70e120], 0
pop ebx
add esp, 8
ret
mov esi, 0x5cfcf0
mov edx, dword [esi + 4]
mov edi, dword [0x70e44c]
mov ecx, dword [esp + 0xc]
mov eax, dword [esi]
mov ebx, dword [esp + 0x10]
sub edx, edi
add edx, ecx
mov ecx, dword [0xf56be4]
push 0xfffff863
add eax, ebx
push edx
push eax
push ecx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add esi, 8
cmp esi, 0x5cfd10
jl 0x43e14f
pop edi
pop esi
pop ebx
add esp, 8
ret
sub esp, 0x24
mov edx, dword [0xbca308]
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
lea ecx, [esp + 0x10]
push eax
mov eax, dword [0xbca304]
push ecx
xor edi, edi
push edx
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edi
call fcn.004f0ba0
mov eax, dword [0xeaac28]
mov ecx, dword [esp + 0x24]
imul eax, eax, 0x49d8
mov esi, dword [0x70e44c]
add esp, 0x10
add ecx, esi
cmp word [eax + 0xea5baa], di
mov dword [esp + 0x14], ecx
mov edx, 1
je 0x4414f1
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
cmp dword [eax + 0xea187c], 0xffffec78
jg 0x441505
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
mov ebx, dword [0xbca2e0]
mov edi, dword [0x5cfcec]
mov eax, ebx
mov ebp, dword [0xbca300]
cdq
sub eax, edx
sar eax, 1
test edi, edi
jle 0x4415a6
lea ebx, [eax + eax*8]
mov dword [esp + 0x2c], edi
shl ebx, 4
add ebx, 0x5cfe10
mov ecx, dword [ebx]
mov edi, 0xe4
add ecx, ebp
push 3
mov eax, ecx
cdq
idiv edi
mov eax, 0x8fb823ef
mov esi, dword [ecx*4 + 0xaf598c]
and esi, 0xeefed77f
mov edi, edx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push edi
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x44157a
test esi, esi
je 0x441582
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x2c]
add ebx, 4
dec eax
mov dword [esp + 0x2c], eax
jne 0x441536
mov ecx, dword [esp + 0x14]
mov ebx, dword [0xbca2e0]
mov esi, dword [0x70e44c]
mov edi, dword [0x5cfcec]
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [0xbca300]
sar eax, 1
mov ebp, dword [eax*4 + 0x5cdfa8]
add ebp, edx
test edi, edi
jle 0x441644
lea ebx, [eax + eax*8]
mov dword [esp + 0x2c], edi
shl ebx, 4
add ebx, 0x5cfe10
mov ecx, dword [ebx]
mov edi, 0xe4
add ecx, ebp
push 3
mov eax, ecx
cdq
idiv edi
mov eax, 0x8fb823ef
mov esi, dword [ecx*4 + 0xaf598c]
and esi, 0xeefed77f
mov edi, edx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push edi
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x441618
test esi, esi
je 0x441620
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x2c]
add ebx, 4
dec eax
mov dword [esp + 0x2c], eax
jne 0x4415d4
mov ecx, dword [esp + 0x14]
mov ebx, dword [0xbca2e0]
mov esi, dword [0x70e44c]
mov edi, dword [0x5cfcec]
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [0xbca300]
sar eax, 1
mov ebp, dword [eax*4 + 0x5cdfb8]
add ebp, edx
test edi, edi
jle 0x4416e2
lea ebx, [eax + eax*8]
mov dword [esp + 0x2c], edi
shl ebx, 4
add ebx, 0x5cfe10
mov ecx, dword [ebx]
mov edi, 0xe4
add ecx, ebp
push 3
mov eax, ecx
cdq
idiv edi
mov eax, 0x8fb823ef
mov esi, dword [ecx*4 + 0xaf598c]
and esi, 0xeefed77f
mov edi, edx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push edi
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x4416b6
test esi, esi
je 0x4416be
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x2c]
add ebx, 4
dec eax
mov dword [esp + 0x2c], eax
jne 0x441672
mov ecx, dword [esp + 0x14]
mov ebx, dword [0xbca2e0]
mov esi, dword [0x70e44c]
mov edi, dword [0x5cfcec]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441aeb
mov eax, dword [esp + 0x10]
mov edx, dword [0xbca300]
mov dword [esp + 0x30], eax
mov eax, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
cdq
sub eax, edx
sar eax, 1
test edi, edi
jle 0x44180c
lea eax, [eax + eax*8]
mov ecx, 0x5cfcf4
shl eax, 4
add al, 5
adc dh, bh
pop esp
add byte [ecx - 0x76d7dbb4], cl
inc esp
and al, 0x2c
mov eax, ebx
mov word [0x70e120], 0x1fe3
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jne 0x441c18
mov eax, dword [esp + 0x10]
sub ecx, esi
mov esi, ecx
mov ecx, dword [0xf56d54]
push esi
inc ecx
push eax
push ecx
mov ecx, 0xf55bb0
mov edi, eax
call fcn.0053e590
mov edx, dword [0xf56d54]
push esi
inc edx
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0x7756ac]
mov esi, dword [0x5d28b4]
imul eax, dword [0x70e45c]
imul esi, dword [0x70e458]
mov ecx, dword [0x5d28f4]
mov ebp, dword [esp + 0x10]
mov edx, dword [0x7756b0]
mov edi, dword [0x5d28b8]
add ecx, eax
imul edi, dword [0x70e448]
add esi, ecx
mov eax, dword [esp + 0x14]
add esi, ebp
dec edx
imul edx, dword [0x70e44c]
mov ecx, dword [0xf56d5c]
add eax, edx
add edi, eax
inc ecx
push edi
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf56d5c]
push edi
inc edx
push esi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0x7756cc]
mov esi, dword [0x5d28d4]
imul eax, dword [0x70e45c]
imul esi, dword [0x70e458]
mov ecx, dword [0x5d2904]
mov ebp, dword [esp + 0x10]
mov edx, dword [0x7756d0]
mov edi, dword [0x5d28d8]
add ecx, eax
imul edi, dword [0x70e448]
add esi, ecx
mov eax, dword [esp + 0x14]
add esi, ebp
dec edx
imul edx, dword [0x70e44c]
mov ecx, dword [0xf56d64]
add eax, edx
add edi, eax
inc ecx
push edi
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf56d64]
push edi
inc edx
push esi
push edx
jmp 0x441f61
cmp edi, 2
jne 0x441d33
mov eax, dword [esp + 0x10]
sub ecx, esi
mov esi, ecx
mov edi, eax
push esi
push eax
mov eax, dword [0xf56d64]
mov ecx, 0xf55bb0
inc eax
push eax
call fcn.0053e590
mov ecx, dword [0xf56d64]
push esi
inc ecx
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
mov edx, dword [0x7756bc]
mov esi, dword [0x5d28c4]
imul edx, dword [0x70e45c]
imul esi, dword [0x70e458]
mov eax, dword [0x5d28fc]
mov ecx, dword [esp + 0x10]
add eax, edx
mov edi, dword [0x5d28c8]
add esi, eax
imul edi, dword [0x70e448]
add esi, ecx
mov ecx, dword [0x7756c0]
dec ecx
mov edx, dword [esp + 0x14]
imul ecx, dword [0x70e44c]
mov eax, dword [0xf56d5c]
add edx, ecx
add edi, edx
inc eax
push edi
push esi
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0xf56d5c]
push edi
inc ecx
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
mov edx, dword [0x7756dc]
mov esi, dword [0x5d28e4]
imul edx, dword [0x70e45c]
imul esi, dword [0x70e458]
mov eax, dword [0x5d290c]
mov ebp, dword [esp + 0x10]
mov ecx, dword [0x7756e0]
mov edi, dword [0x5d28e8]
add eax, edx
imul edi, dword [0x70e448]
add esi, eax
mov edx, dword [esp + 0x14]
add esi, ebp
dec ecx
imul ecx, dword [0x70e44c]
mov eax, dword [0xf56d54]
add edx, ecx
add edi, edx
inc eax
push edi
push esi
push eax
mov ecx, 0xf55bb0
call fcn.0053e590
mov ecx, dword [0xf56d54]
push edi
inc ecx
push esi
push ecx
jmp 0x441f61
cmp edi, 3
jne 0x441e4d
mov eax, dword [esp + 0x10]
mov edx, dword [0xf56d54]
sub ecx, esi
mov edi, eax
mov esi, ecx
mov ecx, 0xf55bb0
push esi
push eax
push edx
call fcn.0053e590
mov eax, dword [0xf56d54]
push esi
push edi
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov ecx, dword [0x7756c4]
mov edx, dword [0x5d28cc]
imul ecx, dword [0x70e45c]
imul edx, dword [0x70e458]
mov eax, dword [0x5d2900]
mov esi, dword [0x5d28d0]
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, eax
imul esi, dword [0x70e448]
lea edi, [edx + ecx - 1]
mov edx, dword [0x7756c8]
dec edx
mov eax, dword [esp + 0x14]
imul edx, dword [0x70e44c]
mov ecx, dword [0xf56d5c]
add eax, edx
add esi, eax
push esi
push edi
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf56d5c]
push esi
push edi
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov eax, dword [0x7756e4]
mov ecx, dword [0x5d28ec]
imul eax, dword [0x70e45c]
imul ecx, dword [0x70e458]
mov edx, dword [0x5d2910]
mov esi, dword [0x5d28f0]
add edx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
imul esi, dword [0x70e448]
lea edi, [ecx + eax - 2]
mov ecx, dword [0x7756e8]
dec ecx
mov edx, dword [esp + 0x14]
imul ecx, dword [0x70e44c]
mov eax, dword [0xf56d64]
add edx, ecx
add esi, edx
mov ecx, 0xf55bb0
push esi
push edi
push eax
call fcn.0053e590
mov ecx, dword [0xf56d64]
push esi
push edi
push ecx
jmp 0x441f61
mov ebx, dword [edi*8 + 0x7756cc]
mov edx, dword [edi*8 + 0x5d28d4]
imul ebx, dword [0x70e45c]
imul edx, dword [0x70e458]
mov eax, dword [edi*4 + 0x5d2904]
mov ebp, dword [esp + 0x10]
add ebx, edx
add ebx, eax
mov eax, dword [edi*8 + 0x7756d0]
add ebx, ebp
dec eax
imul eax, esi
mov esi, dword [edi*8 + 0x5d28d8]
add ecx, eax
imul esi, dword [0x70e448]
add esi, ecx
mov ecx, dword [0xf56d54]
push esi
push ebx
push ecx
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [0xf56d54]
push esi
push ebx
push edx
mov ecx, 0xf55bb0
call fcn.0053f250
mov esi, dword [edi*8 + 0x7756ac]
mov eax, dword [edi*8 + 0x5d28b4]
imul esi, dword [0x70e45c]
imul eax, dword [0x70e458]
mov ecx, dword [edi*4 + 0x5d28f4]
add esi, eax
mov eax, dword [esp + 0x10]
add esi, ecx
mov ecx, dword [edi*8 + 0x7756b0]
mov edi, dword [edi*8 + 0x5d28b8]
imul edi, dword [0x70e448]
add esi, eax
dec ecx
imul ecx, dword [0x70e44c]
mov edx, dword [esp + 0x14]
mov eax, dword [0xf56d5c]
add edx, ecx
mov ecx, 0xf55bb0
add edi, edx
push edi
push esi
push eax
call fcn.0053e590
mov ecx, dword [0xf56d5c]
push edi
push esi
push ecx
mov ecx, 0xf55bb0
call fcn.0053f250
mov esi, dword [esp + 0x14]
mov ebx, dword [0x70e44c]
mov eax, dword [esp + 0x10]
mov edx, dword [0xf56d64]
sub esi, ebx
mov ecx, 0xf55bb0
push esi
push eax
push edx
mov edi, eax
call fcn.0053e590
mov eax, dword [0xf56d64]
push esi
push edi
push eax
mov ecx, 0xf55bb0
call fcn.0053f250
mov word [0x70e120], 0
sub esp, 0x20
mov edx, dword [0xbca308]
push ebx
push ebp
push esi
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [0xbca304]
push ecx
xor ebx, ebx
push edx
push eax
mov dword [esp + 0x20], ebx
call fcn.004f0ba0
mov eax, dword [0x6059e8]
mov ecx, dword [0x70e44c]
mov esi, dword [esp + 0x28]
mov edx, dword [0xbca300]
add esp, 0x10
lea eax, [eax + eax*4]
add esi, ecx
mov dword [esp + 0x14], ebx
mov edi, dword [eax*4 + 0x5d06dc]
push 0x52
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], edx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, 0x8001
mov eax, dword [0xbc9714]
jne 0x441ff2
inc eax
mov dword [0xbc9714], eax
cmp eax, 0xf
jle 0x441ffe
xor eax, eax
mov dword [0xbc9714], eax
mov ecx, eax
and ecx, 0x80000003
jns 0x44200d
dec ecx
or ecx, 0xfffffffc
inc ecx
add eax, 4
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp eax, 4
jl 0x442020
xor eax, eax
cmp ecx, 2
jge 0x442041
mov edx, dword [0x6059e8]
lea edx, [edx + edx*4]
mov edx, dword [edx*4 + 0x5d06e4]
mov edx, dword [edx*8 + 0xf55bb4]
lea esi, [edx + ecx*4]
jmp 0x442063
cmp edi, 1
jne 0x44204e
mov edx, dword [0xf5730c]
jmp 0x44205f
mov edx, dword [0xf57304]
cmp edi, 2
je 0x44205f
mov edx, dword [0xf572fc]
lea esi, [edx + ecx*4 - 8]
add esi, eax
mov eax, dword [0x605a3c]
cmp eax, ebx
jne 0x4420b0
mov eax, dword [0xbca304]
cmp eax, 3
jl 0x4420a3
mov ecx, dword [0xbca2d0]
lea eax, [eax + edi - 1]
add ecx, 0xfffffffd
cmp eax, ecx
jge 0x4420a3
mov eax, dword [0xbca308]
cmp eax, 3
jl 0x4420a3
lea edx, [eax + edi - 1]
mov eax, dword [0xbca2d4]
add eax, 0xfffffffd
cmp edx, eax
jl 0x4420b0
mov eax, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x18]
mov eax, dword [0xbca2e0]
mov ebp, dword [edi*4 + 0x5cfcd4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
cdq
sub eax, edx
sar eax, 1
cmp ebp, ebx
jle 0x44214e
lea edx, [eax + eax*8]
mov dword [esp + 0x20], ebp
shl edx, 4
add edx, 0x5cfe10
mov ecx, dword [edx]
mov edi, dword [esp + 0x24]
add ecx, edi
mov edi, dword [ecx*4 + 0xaf598c]
test edi, 0x10000
jne 0x44210d
mov ebx, dword [ecx*4 + 0xd05720]
test ebx, ebx
je 0x44211d
cmp byte [ebx + 0x18], 0
jne 0x44211d
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
test edi, 0xeefed77f
je 0x44212d
mov dword [esp + 0x10], 1
cmp word [ecx*2 + 0xb350dc], 0
je 0x442140
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0x20]
add edx, 4
dec ecx
mov dword [esp + 0x20], ecx
jne 0x4420e5
mov edx, dword [0xeaac28]
imul edx, edx, 0x49d8
cmp dword [edx + 0xea187c], 0xffffec78
jg 0x442170
mov dword [esp + 0x14], 1
jmp 0x44217c
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x44222b
test ebp, ebp
jle 0x442269
lea ebx, [eax + eax*8]
mov edi, 0x5cfcf4
shl ebx, 4
add ebx, 0x5cfe10
mov ecx, dword [edi - 4]
mov eax, dword [esp + 0x28]
mov esi, dword [0x70e44c]
mov edx, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [edi]
sub eax, esi
mov esi, dword [esp + 0x24]
add eax, edx
mov edx, dword [ebx]
add esi, edx
mov edx, dword [esi*4 + 0xaf598c]
and edx, 0xeefed77f
cmp word [esi*2 + 0xb350dc], 0
je 0x4421d3
mov edx, 1
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4421ea
push 0xfffff863
push eax
mov eax, dword [0xf56be4]
push ecx
push eax
jmp 0x44220c
test edx, edx
je 0x4421fe
push 0xfffff863
push eax
push ecx
mov ecx, dword [0xf56be4]
push ecx
jmp 0x44220c
mov edx, dword [0xf56be4]
push 0x1fe3
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add ebx, 4
add edi, 8
dec ebp
jne 0x442195
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edi, dword [esp + 0x18]
mov ebp, dword [0x70e44c]
mov ebx, dword [esp + 0x1c]
sub edi, ebp
mov eax, ebx
push edi
push eax
push esi
mov ecx, 0xf55bb0
mov word [0x70e120], 0x1fe3
call fcn.0053e590
push edi
push ebx
push esi
mov ecx, 0xf55bb0
call fcn.0053f250
mov word [0x70e120], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
sub esp, 0x18
push 2
call fcn.004c53d0
add esp, 4
cmp eax, 0xffffffff
jne 0x4bfcf3
push 1
call fcn.004c53d0
add esp, 4
cmp eax, 0xffffffff
jne 0x4bfcf3
xor eax, eax
mov eax, dword [eax*4 + 0x5df778]
push ebx
mov ebx, dword [0xbca304]
push esi
mov esi, dword [0xbca308]
push 0x52
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, 0x8001
jne 0x4bfd31
mov eax, dword [0xbc9714]
xor ecx, ecx
cmp eax, 1
setne cl
mov dword [0xbc9714], ecx
mov edx, dword [0xbc9714]
push edx
push esi
push ebx
call fcn.004bff60
mov ecx, dword [0xbc9714]
add esp, 0xc
test al, al
mov byte [esp + ecx + 8], al
jne 0x4bfd6b
push ecx
push esi
push ebx
mov dword [0x605994], 0
call fcn.004c0040
add esp, 0xc
pop esi
pop ebx
add esp, 0x18
ret
mov eax, dword [0xbca2e0]
push ebp
push edi
lea ebp, [eax + ecx]
cmp ebp, 8
mov dword [esp + 0x10], ebp
jl 0x4bfd85
sub ebp, 8
mov dword [esp + 0x10], ebp
mov eax, ebp
mov edi, 0x5df768
shl eax, 4
add eax, 0x5df78c
sub eax, edi
mov dword [esp + 0x20], eax
jmp 0x4bfdae
mov ecx, dword [0xbc9714]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [eax + edi]
cmp ebp, 7
ja case.0x4bfdb6.1
jmp dword [ebp*4 + 0x4bfec0]
mov ebp, 1
jmp 0x4bfdc6
xor ebp, ebp
mov eax, ecx
sub eax, 0
je 0x4bfdeb
dec eax
je 0x4bfdd6
mov ecx, ebx
mov eax, esi
jmp 0x4bfe00
mov eax, edx
shl eax, 4
mov ecx, dword [eax + 0x5df818]
mov eax, dword [eax + 0x5df81c]
add ecx, ebx
jmp 0x4bfdfe
mov eax, edx
shl eax, 4
mov ecx, dword [eax + 0x5df81c]
mov eax, dword [eax + 0x5df818]
add ecx, ebx
add eax, esi
mov esi, dword [0xbca2e0]
test esi, esi
je 0x4bfe3f
cmp esi, 2
jne 0x4bfe1e
shl edx, 4
mov edx, dword [edx + 0x5df814]
lea ecx, [ecx + edx - 1]
jmp 0x4bfe3f
cmp esi, 4
jne 0x4bfe32
shl edx, 4
mov edx, dword [edx + 0x5df814]
lea ecx, [ecx + edx - 1]
jmp 0x4bfe3b
shl edx, 4
mov edx, dword [edx + 0x5df814]
lea eax, [eax + edx - 1]
mov edx, dword [edi]
cmp edx, 0x1ae
jne 0x4bfe4d
mov edx, dword [esp + 0x24]
mov esi, dword [edx*8 + 0xf55bb4]
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x1c]
push edx
push eax
push ecx
add esi, ebp
call fcn.004f0ba0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov word [0x70e120], 0x1fe3
push eax
push ecx
push esi
mov ecx, 0xf55bb0
call fcn.0053e590
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push eax
push esi
mov ecx, 0xf55bb0
call fcn.0053f250
add edi, 4
mov word [0x70e120], 0
cmp edi, 0x5df778
jl 0x4bfd9c
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x18
ret
sub esp, 0x58
mov eax, dword [0xbca300]
push ebx
push ebp
push esi
push edi
push eax
call fcn.004def00
neg al
sbb eax, eax
lea ecx, [esp + 0x24]
and eax, 0xffff2780
push ecx
add eax, 0xf863
mov ecx, dword [0xbca304]
mov dword [esp + 0x30], eax
mov eax, dword [0xbca2e0]
cdq
sub eax, edx
lea edx, [esp + 0x20]
mov esi, eax
mov eax, dword [0xbca308]
push edx
push eax
push ecx
sar esi, 1
call fcn.004f0ba0
mov edx, dword [0x70e45c]
mov edi, dword [0x70e44c]
lea eax, [esp + esi*4 + 0x5c]
lea ecx, [esp + esi*4 + 0x6c]
lea ebp, [edx + 1]
mov edx, dword [0xbca2e0]
add esp, 0x14
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
push edx
push edx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.004ded50
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov eax, dword [0x70e44c]
add esp, 0x10
mov esi, dword [edx]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
add esi, eax
mov eax, dword [esp + 0x3c]
add ebx, ecx
add esi, edx
mov ecx, dword [eax*4 + 0x5cfcd4]
mov edx, dword [0xbca2e0]
cmp eax, 1
mov dword [esp + 0x24], ecx
jle 0x4dece4
mov ecx, edx
sub ecx, 2
je 0x4decd7
sub ecx, 2
je 0x4deccc
sub ecx, 2
jne 0x4dece4
dec eax
mov ecx, eax
imul ecx, ebp
sub ebx, ecx
jmp 0x4decdf
dec eax
imul eax, edi
neg eax
lea esi, [esi + eax*2]
jmp 0x4dece4
dec eax
mov ecx, eax
imul ecx, ebp
add ebx, ecx
imul eax, edi
sub esi, eax
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4ded30
mov edi, 0x5cfcf0
mov ebp, eax
mov eax, dword [edi + 4]
mov ecx, dword [0x70e44c]
mov edx, dword [esp + 0x28]
sub eax, ecx
mov ecx, dword [edi]
add eax, esi
push edx
mov edx, dword [0xf56be4]
add ecx, ebx
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add edi, 8
dec ebp
jne 0x4decf3
mov edx, dword [0xbca2e0]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x74
mov dword [esp + 0x10], eax
jl 0x4dec64
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
lea eax, [ecx + 0x4c]
push 2
push eax
call fcn.004e5490
ret
sub esp, 0x34
mov eax, dword [0xeaac28]
push ebx
imul eax, eax, 0x49d8
push ebp
push esi
mov ecx, dword [eax + 0xea187c]
push edi
xor edi, edi
cmp ecx, 0xffffec78
mov dword [esp + 0x20], edi
jg 0x4edbde
mov dword [esp + 0x20], 1
mov eax, dword [0x5e6970]
mov ecx, dword [0xbca300]
lea edx, [esp + 0x40]
push edx
push eax
push ecx
call fcn.004ecec0
neg al
sbb eax, eax
lea ecx, [esp + 0x38]
and eax, 0xffff2780
add eax, 0xf863
mov ebx, eax
mov eax, dword [0xbca2e0]
cdq
sub eax, edx
mov edx, dword [0xbca308]
mov esi, eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [0xbca304]
push ecx
push edx
sar esi, 1
push eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], esi
call fcn.004f0ba0
mov ebp, dword [0xbca300]
add esp, 0x1c
mov dword [esp + 0x28], edi
mov ecx, dword [0x5e4ef4]
cmp ecx, 5
jne 0x4edc5e
mov edx, dword [0x5e6970]
shl edx, 2
mov eax, dword [edx + 0x56f7ec]
jmp 0x4edc70
mov eax, dword [0x5e6970]
lea edx, [eax*4]
mov eax, dword [edx + 0x56f7d8]
cmp edi, eax
jge 0x4ede2e
cmp ecx, 5
lea eax, [edx + esi]
jne 0x4edcc5
lea ecx, [eax + eax*8]
lea eax, [edi + ecx*4]
shl eax, 4
mov edx, dword [eax + 0x5f1d7c]
mov ecx, dword [edx*8 + 0x56fd14]
mov edx, dword [edx*8 + 0x56fd10]
lea ebx, [ecx + ecx*8]
lea ecx, [ecx + ebx*2]
lea ecx, [ecx + ecx*2]
lea ebx, [edx + ecx*4]
mov edx, dword [0x70e458]
mov ecx, dword [eax + 0x5f1d74]
mov eax, dword [eax + 0x5f1d78]
add edx, 2
add ebx, ebp
imul ecx, edx
jmp 0x4edcf7
lea eax, [eax + eax*8]
shl eax, 4
add eax, edi
shl eax, 4
mov ecx, dword [eax + 0x5e697c]
mov ebx, dword [ecx*4 + 0x56fe30]
mov ecx, dword [0x70e458]
add ebx, ebp
lea edx, [ecx + 2]
mov ecx, dword [eax + 0x5e6974]
mov eax, dword [eax + 0x5e6978]
imul ecx, edx
imul eax, dword [0x70e448]
mov edx, dword [esp + 0x2c]
add ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [0x5cfcdc]
test eax, eax
jle 0x4ede20
mov eax, 0x8fb823ef
mov ecx, 0xe4
imul ebx
add edx, ebx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ebx
mov dword [esp + 0x34], edx
cdq
idiv ecx
lea eax, [esi + esi*8]
mov ecx, 0x5cfcf4
shl eax, 4
add eax, 0x5cfe10
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], edx
mov edx, dword [0x5cfcdc]
mov dword [esp + 0x24], edx
jmp 0x4edd70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov esi, dword [ecx - 4]
mov edx, dword [esp + 0x1c]
mov edi, dword [ecx]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add eax, ebx
add esi, edx
mov edx, dword [esp + 0x38]
add edi, ebp
mov ebp, dword [eax*4 + 0xaf598c]
push 3
push ecx
push edx
and ebp, 0xfeffd76e
call fcn.0046f9a0
add esp, 0xc
test al, al
jne 0x4eddae
test ebp, ebp
je 0x4eddbd
mov eax, dword [0xf56be4]
push 0xfffff863
push edi
push esi
push eax
jmp 0x4edde3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4eddd5
mov ecx, dword [0xf56be4]
push 0xfffff863
push edi
push esi
push ecx
jmp 0x4edde3
mov edx, dword [0xf56be4]
push 0x1fe3
push edi
push esi
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
add edx, 4
add ecx, 8
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
jne 0x4edd68
mov ebp, dword [0xbca300]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x28], edi
jmp 0x4edc42
mov eax, dword [0x5e6970]
push eax
call fcn.004ecea0
add esp, 4
test al, al
je 0x4ede8c
mov ecx, dword [0x5e6970]
mov eax, dword [0xbca300]
mov ebp, dword [0xbca2d8]
and ebx, 0xffff
mov ecx, dword [ecx*4 + 0x5f5d08]
push ebx
add ecx, eax
mov eax, 0x8fb823ef
sub ecx, ebp
push 1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
push edx
mov ecx, 0xe4
cdq
idiv ecx
push edx
call fcn.004ed360
add esp, 0x10
mov eax, dword [0x5e4ef4]
cmp eax, 5
mov eax, dword [0x5e6970]
jne 0x4edeab
mov ebx, dword [eax*4 + 0x5700a8]
mov edi, dword [eax*4 + 0x5700c8]
jmp 0x4edeb9
mov ebx, dword [eax*4 + 0x570094]
mov edi, dword [eax*4 + 0x5700b4]
xor esi, esi
test ebx, ebx
jle 0x4edf3b
mov ebp, 0xfeffd72e
mov edx, dword [0xbca300]
lea ecx, [edx + edi]
add ecx, esi
test dword [ecx*4 + 0xaf598c], ebp
je 0x4edf36
lea eax, [esp + 0x18]
lea edx, [esp + 0x1c]
push eax
mov eax, 0x8fb823ef
push edx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xbca2ec]
sub edx, eax
mov eax, ecx
push edx
mov ecx, 0xe4
cdq
idiv ecx
sub edx, dword [0xbca2e8]
push edx
call fcn.004f0ba0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [0xf56be4]
add esp, 0x10
push 0xfffff863
push edx
push eax
push ecx
mov ecx, 0xf55bb0
call fcn.0053f4f0
inc esi
cmp esi, ebx
jl 0x4edec4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
sub esp, 0x20
mov eax, dword [0xbca300]
push ebx
push ebp
push esi
push edi
push eax
call fcn.00541ae0
neg al
sbb eax, eax
lea ecx, [esp + 0x20]
and eax, 0xffff2780
push ecx
add eax, 0xf863
mov ecx, dword [0xbca304]
mov dword [esp + 0x2c], eax
mov eax, dword [0xbca2e0]
cdq
sub eax, edx
lea edx, [esp + 0x20]
mov esi, eax
mov eax, dword [0xbca308]
push edx
push eax
push ecx
sar esi, 1
call fcn.004f0ba0
mov edx, dword [0x70e45c]
lea edi, [esi*4 + 0x601dfc]
add esp, 0x14
mov dword [esp + 0x10], 0x601de0
lea ebp, [edx + 1]
mov edx, dword [0x70e44c]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], edi
mov ebx, dword [edi - 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add ebx, ecx
mov ecx, dword [0x70e44c]
lea esi, [ecx + eax]
mov eax, dword [edi]
add esi, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 1
mov ecx, dword [eax*4 + 0x5cfcd4]
mov dword [esp + 0x20], ecx
jle 0x541ce0
mov ecx, dword [0xbca2e0]
sub ecx, 2
je 0x541cd3
sub ecx, 2
je 0x541cc8
sub ecx, 2
jne 0x541ce0
dec eax
mov ecx, eax
imul ecx, ebp
sub ebx, ecx
jmp 0x541cdb
dec eax
imul eax, edx
neg eax
lea esi, [esi + eax*2]
jmp 0x541ce0
dec eax
mov ecx, eax
imul ecx, ebp
add ebx, ecx
imul eax, edx
sub esi, eax
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x541d2a
mov edi, 0x5cfcf0
mov ebp, eax
mov eax, dword [edi + 4]
mov ecx, dword [0x70e44c]
mov edx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [edi]
add eax, esi
push edx
mov edx, dword [0xf56be4]
add ecx, ebx
push eax
push ecx
push edx
mov ecx, 0xf55bb0
call fcn.0053f4f0
add edi, 8
dec ebp
jne 0x541cef
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
add edi, 0x34
add eax, 0x34
mov dword [esp + 0x14], edi
cmp eax, 0x603230
mov dword [esp + 0x10], eax
jl 0x541c79
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
lea eax, [ecx + 0x1e5c]
push 0xa7
push eax
call fcn.00545fc0
ret
lea eax, [ecx + 0x5c88]
push 0x201
push eax
call fcn.00545fc0
ret
lea eax, [ecx + 0x4ee0]
push 0x1b5
push eax
call fcn.00545fc0
ret
lea eax, [ecx + 0x1cbc]
push 0x9e
push eax
call fcn.00545fc0
ret