Function at 0x438d90
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x198
push ebx
push ebp
push esi
mov esi, eax
push edi
xor eax, eax
call fcn.004317a0
xor ebx, ebx
push esi
mov dword [0x8cc974], ebx
mov dword [0x8cc96c], ebx
mov dword [0x86e5d4], esi
call fcn.00433c50
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
add esp, 4
mov dword [0x8cc974], ebx
lea esp, [esp]
test byte [0x8ef61c], 1
mov ebp, 1
jne 0x438deb
or dword [0x8ef61c], ebp
call esi
mov dword [0x8ef618], eax
call esi
sub eax, dword [0x8ef618]
mov dword [esp + 0x24], eax
test byte [0x85c164], 4
mov dword [0x8cc964], ebx
jne 0x438e1e
push ebx
call fcn.00436b90
add esp, 4
push ebp
call fcn.00436b90
add esp, 4
mov dword [0x86e584], ebx
mov ecx, dword [0x8cc95c]
cmp ecx, 0xffffffff
je 0x438e62
mov eax, dword [0x8cc960]
cmp eax, ebp
jne 0x438e43
mov edx, ecx
imul edx, edx, 0x14c
cmp word [edx + 0x871ec4], bx
je 0x438e62
shl eax, 4
add eax, ecx
imul eax, eax, 0x14c
cmp word [eax + 0x870a02], 0xff9d
je 0x438e62
cmp word [eax + 0x8709ec], 0x64
jl 0x438e79
cmp dword [0x8cc964], ebx
jne 0x438e79
push ebx
mov dword [0x86e584], ebp
call fcn.00433720
add esp, 4
call fcn.004351c0
mov eax, dword [0x8cc974]
cmp eax, 0x3e8
jg 0x439b03
cmp eax, 0xfffffc18
jl 0x439b0a
push str.Fight
call fcn.0042e1a0
mov ecx, dword [0x86db5c]
add esp, 4
cmp ecx, ebx
mov dword [esp + 0x14], eax
je 0x438eeb
push eax
push str.Fight
lea eax, [esp + 0xb0]
push str._s__03X
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov edi, dword [0x86db5c]
add esp, 0x10
lea ecx, [esp + 0x14]
push ecx
lea ebx, [esp + 0xac]
call fcn.0051bd30
mov eax, dword [esp + 0x14]
cmp eax, 0x2c8
mov esi, eax
mov dword [esp + 0x10], esi
jl 0x438f5b
cmp eax, 0x2d4
jg 0x438f5b
add eax, 0xfffffd38
cmp eax, 8
ja case.default.0x438f09
jmp dword [eax*4 + 0x439cd0]
mov esi, 0x124
jmp 0x438f4d
mov esi, 0x126
jmp 0x438f4d
mov esi, 0x121
jmp 0x438f4d
mov esi, 0x125
jmp 0x438f4d
mov esi, 0x10c
jmp 0x438f4d
mov esi, 0x127
jmp 0x438f4d
mov esi, 0x123
jmp 0x438f4d
mov esi, 0x128
jmp 0x438f4d
mov esi, 0x122
mov dword [esp + 0x10], esi
mov dword [0x86e35c], 0
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x438f8b
cmp esi, 0x50
je 0x438f8b
cmp esi, 0x57
je 0x438f8b
cmp esi, 0x51
je 0x438f8b
cmp esi, 0x21
je 0x438f8b
cmp esi, 0x54
je 0x438f8b
add esi, 0x8000000
mov dword [esp + 0x10], esi
test byte [0x85c164], 4
jne 0x43932a
mov eax, dword [0x8cc960]
test eax, eax
jne 0x43932a
mov eax, dword [0x86e35c]
test eax, eax
je 0x43932a
mov ecx, dword [0x86e358]
lea edx, [esp + 0x2c]
push edx
mov edx, dword [0x86e354]
lea eax, [esp + 0x2c]
push eax
push ecx
push edx
lea edi, [esp + 0x28]
call fcn.004aed80
add esp, 0x10
test al, al
je 0x43932a
mov eax, dword [0x8cc95c]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
push ebp
push ebx
xor eax, eax
call fcn.00436a20
mov dword [esp + 0x1c], eax
push ebp
push ebx
mov eax, 1
call fcn.00436a20
mov edx, dword [0x727520]
imul edx, edx, 0x3e8
mov dword [esp + 0x2c], eax
mov ecx, ebx
sub ecx, edx
add ecx, 0x2134
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
add esp, 0x10
and esi, 0x8000000f
jns 0x439045
dec esi
or esi, 0xfffffff0
inc esi
mov edx, dword [0x727524]
imul edx, edx, 0x3e8
mov ecx, ebp
sub ecx, edx
add ecx, 0x2134
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
and edi, 0x8000000f
jns 0x43907b
dec edi
or edi, 0xfffffff0
inc edi
mov eax, dword [0x86e35c]
cmp eax, 1
jne 0x43922a
mov eax, dword [esp + 0x14]
imul eax, eax, 0x14c
movsx ecx, word [eax + 0x8709f8]
cmp ecx, esi
jne 0x439199
movsx edx, word [eax + 0x8709fa]
cmp edx, edi
jne 0x439199
cmp word [eax + 0x8709ec], 0x64
jl 0x43910f
push str.That_unit_has_been_routed__n
mov esi, 0x8ebf58
call fcn.004f7660
add esp, 4
push 0
push 0x28
call fcn.00487950
add esp, 8
xor eax, eax
jmp 0x4390e0
mov cl, byte [eax + 0x86bb48]
mov byte [eax + 0x86e460], cl
inc eax
test cl, cl
jne 0x4390e0
mov dword [0x727534], 0x64
mov dword [0x8cc95c], 0xffffffff
call fcn.004336c0
jmp 0x439326
mov ecx, dword [eax + 0x870a08]
test ch, 0x10
je 0x439165
push str.That_unit_has_already_moved_this_turn._n
mov esi, 0x8ebf58
call fcn.004f7660
add esp, 4
push 0
push 0x28
call fcn.00487950
add esp, 8
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x86bb48]
mov byte [eax + 0x86e460], cl
inc eax
test cl, cl
jne 0x439140
mov dword [0x727534], 0x64
call fcn.004336c0
jmp 0x439326
or esi, 0xffffffff
push 0xbf800000
push esi
push esi
push 0xaa
xor eax, eax
mov ecx, esi
call fcn.00488840
mov eax, dword [esp + 0x24]
add esp, 0x10
mov dword [0x727534], esi
mov dword [0x8cc95c], eax
call fcn.004336c0
jmp 0x439326
mov esi, dword [esp + 0x1c]
mov eax, ebx
imul esi, esi, 0x14c
call fcn.00431890
movsx ecx, word [esi + 0x871eb8]
cmp ecx, eax
jne 0x439220
mov eax, ebp
call fcn.004318d0
movsx edx, word [esi + 0x871eba]
cmp edx, eax
jne 0x439220
mov edi, 0x64
cmp word [esi + 0x871eac], di
jge 0x439220
push str.That_is_an_enemy_unit._n
mov esi, 0x8ebf58
call fcn.004f7660
add esp, 4
push 0
push 0x28
call fcn.00487950
add esp, 8
xor eax, eax
jmp 0x439200
mov cl, byte [eax + 0x86bb48]
mov byte [eax + 0x86e460], cl
inc eax
test cl, cl
jne 0x439200
mov eax, dword [esp + 0x18]
mov dword [0x727534], edi
mov dword [0x8cc95c], eax
call fcn.004336c0
jmp 0x439326
cmp eax, 2
jne 0x439326
mov ebx, dword [esp + 0x14]
imul ebx, ebx, 0x14c
movsx ecx, word [ebx + 0x8709f8]
cmp ecx, esi
jne 0x43926e
movsx edx, word [ebx + 0x8709fa]
cmp edx, edi
jne 0x43926e
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x43926e
movsx ecx, word [ebx + 0x8709e8]
mov al, 1
jmp 0x439321
mov eax, dword [0x8cc95c]
cmp eax, 0xffffffff
je 0x4392c7
mov ecx, dword [0x8cc960]
shl ecx, 4
add ecx, eax
imul ecx, ecx, 0x14c
movsx ebx, word [ecx + 0x8709f8]
mov eax, ebx
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x4392c7
movsx ebp, word [ecx + 0x8709fa]
mov eax, ebp
sub eax, edi
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x4392c7
mov ecx, edi
mov edx, esi
sub ecx, ebp
sub edx, ebx
call fcn.00431870
mov esi, eax
jmp 0x43951f
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
imul ecx, ecx, 0x14c
movsx eax, word [ecx + 0x871eb8]
cmp eax, esi
jne 0x439326
movsx edx, word [ecx + 0x871eba]
cmp edx, edi
jne 0x439326
mov edi, dword [0x86e58c]
xor dl, dl
test edi, edi
je 0x439318
xor eax, eax
test edi, edi
jle 0x439318
mov esi, 0x66
cmp dword [eax*4 + 0x86e590], ebx
jne 0x43930f
mov dword [esp + 0x10], esi
mov dl, 1
inc eax
cmp eax, edi
jl 0x439300
test dl, dl
jne 0x439326
movsx ecx, word [ecx + 0x871ea8]
xor al, al
call fcn.0043a020
mov esi, dword [esp + 0x10]
cmp esi, 0x122
jg 0x4394d2
je 0x4394cb
cmp esi, 0x66
jg 0x4393d4
je case.0x4393ea.268
add esi, 0xfffffff7
cmp esi, 0x5a
ja case.default.0x4394f3
movzx eax, byte [esi + 0x439d14]
jmp dword [eax*4 + 0x439cf4]
mov ecx, dword [0x8cc960]
mov eax, dword [0x8cc95c]
shl ecx, 4
add ecx, eax
imul ecx, ecx, 0x14c
movsx esi, word [ecx + 0x870a00]
jmp 0x43951f
mov ecx, dword [0x8cc984]
add ecx, 0x4c48
mov edx, 6
mov esi, 1
lea ecx, [ecx]
mov eax, dword [ecx]
test eax, eax
je 0x4393aa
or word [eax + 0x20], si
add ecx, 4
dec edx
jne 0x4393a0
mov ecx, dword [0x8ccbe8]
push esi
push 0
push 0
push 9
call fcn.004b2890
mov edx, dword [0x8cc984]
mov bl, 1
call fcn.004aa1a0
jmp case.default.0x4394f3
add esi, 0xffffff99
cmp esi, 0xba
ja case.default.0x4394f3
movzx edx, byte [esi + 0x439d90]
jmp dword [edx*4 + 0x439d70]
mov esi, 3
jmp 0x43951f
mov al, byte [0x7283bb]
test al, al
sete al
mov byte [0x7283bb], al
jmp case.default.0x4394f3
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x86e58c]
test eax, eax
je case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
mov esi, dword [0x8cc95c]
cmp esi, 0xffffffff
je case.default.0x4394f3
call fcn.00431820
test al, al
jne case.default.0x4394f3
mov ecx, dword [0x8cc970]
push 0xffffffffffffffff
push esi
push ecx
call fcn.004329c0
add esp, 0xc
jmp case.default.0x4394f3
mov eax, dword [0x85c164]
xor eax, 4
test al, 4
mov dword [0x85c164], eax
je 0x43948d
mov cl, 1
mov al, cl
mov esi, 0x8e87b0
call fcn.004984c0
jmp case.default.0x4394f3
sub esp, 0x64
mov esi, 0x8cccd0
lea eax, [esp + 0xa4]
mov ebx, esp
mov dword [esp + 0x104], esi
mov dword [esp + 0xa4], 0x32
call fcn.00498530
mov edi, 0x8e87b4
call fcn.004a1410
mov dword [esp + 0xa0], esi
jmp case.default.0x4394f3
mov esi, 5
jmp 0x43951f
cmp esi, 0x2d2
jg 0x43957a
je 0x43956e
add esi, 0xfffffedd
cmp esi, 5
ja case.default.0x4394f3
jmp dword [esi*4 + 0x439e4c]
mov esi, 2
jmp 0x43951f
mov esi, 4
jmp 0x43951f
mov esi, 6
jmp 0x43951f
mov esi, 7
jmp 0x43951f
xor esi, esi
jmp 0x43951f
mov esi, 1
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
cmp dword [0x8cc95c], 0xffffffff
je case.default.0x4394f3
call fcn.00431820
test al, al
jne case.default.0x4394f3
mov edx, dword [0x8cc95c]
mov eax, dword [0x8cc970]
push esi
push edx
push eax
call fcn.004329c0
add esp, 0xc
jmp case.default.0x4394f3
mov byte [0x7283bb], 0
jmp case.default.0x4394f3
cmp esi, 0x8000124
jg 0x439702
je case.0x4393ea.110
cmp esi, 0x8000121
jg 0x43962a
je case.0x4393ea.118
cmp esi, 0x2d3
je 0x4395f9
cmp esi, 0x800010c
jne case.default.0x4394f3
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
mov eax, dword [0x8cc95c]
cmp eax, 0xffffffff
je case.default.0x4394f3
imul eax, eax, 0x14c
mov ecx, dword [eax + 0x870a5c]
mov edx, dword [eax + 0x870a8c]
mov dword [0x85c128], ecx
mov dword [0x85c124], edx
jmp case.default.0x4394f3
mov byte [0x7283bb], 1
jmp case.default.0x4394f3
mov eax, dword [0x85c128]
cmp eax, 0xffffffff
je 0x43961e
mov dword [0x86e578], eax
mov eax, dword [0x85c124]
mov dword [0x86e574], eax
xor dword [0x85c164], 0x40
jmp case.default.0x4394f3
cmp esi, 0x8000122
jne case.default.0x4394f3
mov eax, dword [0x8cc974]
test eax, eax
jne case.default.0x4394f3
mov dword [0x8cc974], 0xffffffff
jmp case.default.0x4394f3
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
call fcn.00431820
test al, al
jne case.default.0x4394f3
mov ecx, dword [0x86e5d0]
xor edx, edx
mov esi, 0x1000
mov edi, 0x64
jmp 0x439690
inc ecx
and ecx, 0x8000000f
jns 0x43969e
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, ecx
imul eax, eax, 0x14c
test dword [eax + 0x870a08], esi
jne 0x4396c1
cmp word [eax + 0x8709ea], 0
je 0x4396c1
cmp word [eax + 0x8709ec], di
jl 0x4396d2
inc edx
cmp edx, 0x10
jl 0x439690
mov dword [0x86e5d0], ecx
jmp case.default.0x4394f3
push 0xbf800000
push 0xffffffffffffffff
mov dword [0x86e5d0], ecx
push 0xffffffffffffffff
push 0xad
or esi, 0xffffffff
xor eax, eax
or ecx, 0xffffffff
call fcn.00488840
push 1
call fcn.00433720
add esp, 0x14
jmp case.default.0x4394f3
sub esi, 0x8000125
je case.0x4393ea.103
dec esi
je case.0x43935e.32
dec esi
jne case.default.0x4394f3
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
mov eax, dword [0x8cc95c]
or esi, 0xffffffff
cmp eax, esi
je case.default.0x4394f3
mov eax, dword [0x86e588]
mov edx, dword [0x86e58c]
mov ecx, eax
inc eax
cmp eax, edx
mov dword [0x86e588], eax
jl 0x439760
xor eax, eax
mov dword [0x86e588], eax
cmp ecx, eax
je case.default.0x4394f3
cmp edx, 1
jle case.default.0x4394f3
push 0xbf800000
push esi
push esi
push 0xad
xor eax, eax
mov ecx, esi
call fcn.00488840
add esp, 0x10
jmp case.default.0x4394f3
test byte [0x85c164], 4
jne case.default.0x4394f3
mov eax, dword [0x8cc960]
test eax, eax
jne case.default.0x4394f3
mov esi, dword [0x8cc95c]
cmp esi, 0xffffffff
je case.default.0x4394f3
call fcn.00431820
test al, al
jne case.default.0x4394f3
mov ecx, esi
imul ecx, ecx, 0x14c
mov word [ecx + 0x870a04], 0
mov word [ecx + 0x870a02], 0xff9d
or dword [ecx + 0x870a08], 0x80
xor esi, esi
mov si, word [ecx + 0x8709ec]
movsx eax, si
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, eax
mov word [ecx + 0x8709ec], si
mov edx, dword [ecx + 0x870a08]
or edx, 0x1000
push 1
mov dword [ecx + 0x870a08], edx
call fcn.00433720
add esp, 4
jmp case.default.0x4394f3
mov al, byte [0x727538]
test al, al
sete cl
mov byte [0x727538], cl
mov bl, byte [0x85c164]
test bl, 4
mov esi, dword [0x8de30c]
mov edi, dword [0x8de310]
jne 0x439942
cmp esi, 2
mov ecx, dword [0x727530]
mov byte [0x8cc980], 1
jg 0x439892
mov edx, ecx
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x86e574]
add edx, eax
or ebp, 0xffffffff
mov dword [0x86e574], edx
mov dword [0x85c128], ebp
mov byte [0x8cc980], 0
jmp 0x439895
or ebp, 0xffffffff
mov edx, dword [0x85c26c]
add edx, 0xfffffffd
cmp esi, edx
jl 0x4398ce
mov edx, ecx
imul edx, edx, 0xfffffc18
mov eax, 0x10624dd3
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [0x86e574], eax
mov dword [0x85c128], ebp
mov byte [0x8cc980], 0
cmp edi, 2
jg 0x4398ff
mov edx, ecx
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [0x86e578], eax
mov dword [0x85c128], ebp
mov byte [0x8cc980], 0
mov edx, dword [0x85c268]
add edx, 0xfffffffd
cmp edi, edx
jl 0x439942
imul ecx, ecx, 0xfffffc18
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [0x86e578]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, eax
mov dword [0x86e578], ecx
mov dword [0x85c128], 0xffffffff
mov byte [0x8cc980], 0
mov ecx, dword [0x727520]
mov edx, dword [0x86e578]
lea eax, [ecx - 8]
imul eax, eax, 0x3e8
cmp edx, eax
jl 0x439968
lea eax, [ecx + 8]
imul eax, eax, 0x3e8
cmp edx, eax
jle 0x43996d
mov dword [0x86e578], eax
mov ecx, dword [0x727524]
mov edx, dword [0x86e574]
lea eax, [ecx - 8]
imul eax, eax, 0x3e8
cmp edx, eax
jl 0x439993
lea eax, [ecx + 8]
imul eax, eax, 0x3e8
cmp edx, eax
jle 0x439998
mov dword [0x86e574], eax
test bl, 0x20
je 0x439a7c
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x24]
push edx
push edi
push esi
lea edi, [esp + 0x28]
call fcn.004aed80
add esp, 0x10
test al, al
je 0x439a7c
mov eax, dword [0x727524]
mov ecx, dword [esp + 0x30]
imul eax, eax, 0x3e8
sub ecx, eax
add ecx, 0x2134
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
and ecx, 0x8000000f
jns 0x4399f6
dec ecx
or ecx, 0xfffffff0
inc ecx
mov edx, dword [0x727520]
imul edx, edx, 0x3e8
push ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
add ecx, 0x2134
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
and eax, 0x8000000f
jns 0x439a2c
dec eax
or eax, 0xfffffff0
inc eax
push eax
push str.Square___NUM___NUM_
mov esi, 0x8ebf58
call fcn.004f7660
mov eax, dword [0x85c268]
imul eax, eax, 0xf
add esp, 0xc
cdq
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push 4
and edx, 0xf
add eax, edx
sar eax, 4
push 0xffffffffffffffff
push 0x64
push eax
mov eax, dword [0x85c26c]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
push 0x86bb48
xor eax, eax
call fcn.004b0b40
add esp, 0x20
jmp 0x439a7e
xor ebx, ebx
test byte [0x85c164], 4
jne 0x439a8d
inc dword [0x8cc96c]
mov edi, dword [esp + 0x24]
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov ebp, 1
lea esp, [esp]
test byte [0x8ef61c], 1
jne 0x439ab6
or dword [0x8ef61c], ebp
call esi
mov dword [0x8ef618], eax
call esi
sub eax, dword [0x8ef618]
sub eax, edi
cmp eax, 0x1e
jge 0x439acf
push 2
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x439aa0
test byte [0x8ef61c], 1
jne 0x439ae5
or dword [0x8ef61c], ebp
call esi
mov dword [0x8ef618], eax
call esi
sub eax, dword [0x8ef618]
sub eax, edi
mov dword [0x727530], eax
mov al, byte [0x8ccc27]
test al, al
je 0x438dd0
jmp 0x439b1c
push str.The_broken_defenders_scatter_and_run__n
jmp 0x439b0f
push str.You_LOSE__n
mov esi, 0x8ebf58
call fcn.004f7660
add esp, 4
xor edi, edi
mov edi, edi
cmp edi, 6
je 0x439b38
lea ecx, [edi + edi*4]
mov ecx, dword [ecx*4 + 0x86e390]
cmp ecx, ebx
je 0x439b38
mov edx, dword [ecx]
push ebp
call dword [edx]
cmp edi, ebx
je 0x439b45
cmp edi, ebp
je 0x439b45
cmp edi, 9
jne 0x439b8c
lea esi, [edi + edi*4]
shl esi, 2
mov ecx, dword [esi + 0x86e394]
cmp ecx, ebx
je 0x439b5a
mov eax, dword [ecx]
push ebp
call dword [eax]
mov ecx, dword [esi + 0x86e398]
cmp ecx, ebx
je 0x439b69
mov edx, dword [ecx]
push ebp
call dword [edx]
cmp edi, 9
jne 0x439b8c
mov ecx, dword [0x86e450]
cmp ecx, ebx
je 0x439b7d
mov eax, dword [ecx]
push ebp
call dword [eax]
mov ecx, dword [0x86e454]
cmp ecx, ebx
je 0x439b8c
mov edx, dword [ecx]
push ebp
call dword [edx]
inc edi
cmp edi, 0xa
jl 0x439b20
mov esi, 0x873368
mov edi, 0x1a
lea esp, [esp]
mov ecx, dword [esi]
cmp ecx, ebx
je 0x439bad
mov eax, dword [ecx]
push ebp
call dword [eax]
mov dword [esi], ebx
add esi, 4
dec edi
jne 0x439ba0
cmp esi, 0x873778
jl 0x439b97
mov ecx, dword [0x86e384]
cmp ecx, ebx
je 0x439bca
mov edx, dword [ecx]
push ebp
call dword [edx]
mov ecx, dword [0x86e388]
cmp ecx, ebx
je 0x439bd9
mov eax, dword [ecx]
push ebp
call dword [eax]
mov ecx, dword [0x86e380]
cmp ecx, ebx
je 0x439be8
mov edx, dword [ecx]
push ebp
call dword [edx]
mov ecx, dword [0x86e378]
cmp ecx, ebx
je 0x439bf7
mov eax, dword [ecx]
push ebp
call dword [eax]
mov ecx, dword [0x86e37c]
cmp ecx, ebx
je 0x439c06
mov edx, dword [ecx]
push ebp
call dword [edx]
mov ecx, dword [0x86e374]
cmp ecx, ebx
je 0x439c15
mov eax, dword [ecx]
push ebp
call dword [eax]
mov ecx, dword [0x86e370]
cmp ecx, ebx
je 0x439c24
mov edx, dword [ecx]
push ebp
call dword [edx]
mov esi, 0x8de620
lea esp, [esp]
mov edi, 0xc
mov ecx, dword [esi - 0x300]
cmp ecx, ebx
je 0x439c4f
dec dword [ecx + 4]
jne 0x439c49
mov eax, dword [ecx]
push ebp
call dword [eax]
mov dword [esi - 0x300], ebx
mov ecx, dword [esi]
cmp ecx, ebx
je 0x439c61
dec dword [ecx + 4]
jne 0x439c5f
mov edx, dword [ecx]
push ebp
call dword [edx]
mov dword [esi], ebx
add esi, 4
dec edi
jne 0x439c35
cmp esi, 0x8de920
jl 0x439c30
call fcn.004350a0
mov edx, dword [0x86e36c]
xor ecx, ecx
mov eax, 0x8709ea
or esi, 0xffffffff
cmp word [eax - 2], si
je 0x439c92
movsx edi, word [eax]
imul edi, edx
add ecx, edi
add eax, 0x14c
cmp eax, 0x871eaa
jl 0x439c84
mov edx, dword [0x8cc974]
xor eax, eax
cmp edx, ebx
mov edx, dword [esp + 0x1ac]
setg al
mov esi, edx
pop edi
mov dword [esi], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x198
ret