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

Disassembly:
mov eax, dword [0x8cccd8]
sub esp, 0xeb4
push ebx
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
push edi
jne 0x430181
push 0x7f02
push ebp
call dword [sym.imp.USER32.dll_LoadCursorA]
mov esi, eax
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [esp + 0x7c], eax
mov eax, esi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
mov ecx, 0x3f
lea edi, [esp + 0xf4]
or esi, 0xffffffff
mov dword [esp + 0xf0], ebp
rep stosd dword es:[edi], eax
mov eax, dword [0x85c164]
test ah, ah
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x14], esi
jns 0x4301da
and eax, 0xffff7fff
mov byte [esp + 0x1f], 1
mov dword [0x85c164], eax
jmp 0x4301df
mov byte [esp + 0x1f], 0
xor eax, eax
mov cl, byte [eax + 0x86bb48]
mov byte [esp + eax + 0x2f0], cl
inc eax
test cl, cl
jne 0x4301e1
mov ebx, 0x86bb48
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x430200
sub eax, edx
mov dword [esp + 0x2c], eax
mov al, byte [0x86bb48]
test al, al
mov edi, 0x86bb48
je 0x4302b3
mov dword [esp + 0x24], ebp
cmp byte [edi], 0xa
je 0x43023c
cmp esi, 0xffffffff
jne 0x430291
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
dec eax
cmp ecx, eax
jne 0x430291
jmp 0x43023f
mov byte [edi], 0
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x430244
sub eax, edx
inc eax
push eax
mov esi, ebx
call fcn.005354dd
add esp, 4
mov edx, eax
jmp 0x430260
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
test cl, cl
jne 0x430260
cmp byte [edi], 0
mov dword [esp + ebp*4 + 0xf0], edx
jne 0x430279
mov byte [edi], 0xa
cmp dword [esp + 0x20], 0xffffffff
jne 0x430289
cmp byte [ebx], 0x20
jne 0x430289
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x20]
lea ebx, [edi + 1]
inc ebp
mov ecx, dword [esp + 0x24]
mov al, byte [edi + 1]
inc edi
inc ecx
test al, al
mov dword [esp + 0x24], ecx
jne 0x430223
cmp esi, 0xffffffff
mov dword [esp + 0x30], ebp
je 0x4302b3
mov eax, ebp
sub eax, esi
mov dword [esp + 0x5c], eax
mov ebp, dword [0x85c268]
mov esi, dword [0x8cbdd8]
mov ebx, 0x64
mov dword [0x85c11c], ebx
lea ebx, [ebx]
fld dword [esi + 4]
mov eax, dword [0x8ccc18]
fild dword [0x728380]
imul eax, ebx
fmul st(1)
fidiv dword [0x8ccc1c]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [esp + 0x2c], eax
mov dword [0x8cbde0], esi
fadd dword [0x715588]
fimul dword [esp + 0x2c]
fmul dword [0x715790]
call fcn.005f275c
fstp st(0)
mov ecx, 0xfffffffe
sub ecx, eax
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edi
jle 0x4303a3
mov ebp, edi
mov eax, dword [0x8ccc18]
mov ecx, dword [esp + edi*4 + 0xf0]
imul eax, ebx
cdq
and edx, 0x3ff
push 0
add eax, edx
push ecx
sar eax, 0xa
push esi
mov dword [esp + 0x38], eax
mov dword [0x8cbde0], esi
call fcn.0050ac80
fild dword [0x72837c]
fmul st(1)
fidiv dword [0x8ccc18]
fimul dword [esp + 0x2c]
fmul dword [0x715584]
call fcn.005f275c
fstp st(0)
cmp ebp, eax
jge 0x430384
mov ebp, eax
mov eax, dword [esp + 0x30]
mov esi, dword [0x8cbdd8]
mov ebx, dword [0x85c11c]
inc edi
cmp edi, eax
jl 0x430331
mov dword [esp + 0x34], ebp
mov ebp, dword [0x85c268]
mov eax, dword [esp + 0x30]
cmp eax, 4
jge 0x4303b1
mov eax, 4
imul eax, dword [esp + 0x40]
mov edi, dword [0x85c164]
and edi, 0x100000
mov ecx, eax
je 0x4303fd
mov eax, 0x66666667
imul ebp
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xecc]
cmp edx, eax
jge 0x4303fd
mov al, dl
test al, 1
jne 0x4303fd
mov edx, ecx
and edx, 0xfffe
mov eax, ebp
sub eax, edx
sub eax, 0x18
mov dword [esp + 0xecc], eax
mov edx, dword [esp + 0xecc]
mov eax, dword [esp + 0x34]
add edx, 0xfffffff0
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0xec8]
add eax, 0x25
add edx, 0xfffffff0
add edx, eax
mov eax, dword [esp + 0x6c]
add ecx, 0x25
mov dword [esp + 0x58], ecx
add ecx, eax
mov eax, dword [0x85c26c]
add eax, 0xfffffffb
cmp edx, eax
mov dword [esp + 0x64], edx
jge 0x430446
lea edx, [ebp - 0x14]
cmp ecx, edx
jl 0x43044f
test edi, edi
jne 0x43044f
sub ebx, 0xa
mov dword [0x85c11c], ebx
cmp dword [esp + 0x64], eax
jge 0x430460
lea eax, [ebp - 0x14]
cmp ecx, eax
jl 0x430469
test edi, edi
jne 0x430469
cmp ebx, 0x1e
jg 0x4302d0
cmp ebx, 0x28
mov dword [esp + 0x28], 0x28
jl 0x43047a
mov dword [esp + 0x28], ebx
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], eax
mov al, byte [0x727404]
test al, al
push 0xc0
je 0x4304eb
call fcn.005354b8
mov edi, eax
xor ebx, ebx
add esp, 4
cmp edi, ebx
je 0x430566
mov esi, dword [0x8ec008]
mov eax, dword [0x729444]
mov dword [edi + 4], ebx
mov dword [edi], 0x6ff14c
mov dword [edi + 0x1c], ebx
inc eax
mov dword [edi + 0x64], ebx
mov dword [0x729444], eax
mov dword [edi + 0xbc], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push esi
mov eax, edi
call fcn.004bb1b0
mov ecx, dword [esp + 0x58]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xa0000000
push ecx
jmp 0x43053c
call fcn.005354b8
mov edi, eax
add esp, 4
test edi, edi
je 0x430566
mov esi, dword [0x8ec008]
mov ecx, dword [0x729444]
xor ebx, ebx
mov dword [edi + 4], ebx
mov dword [edi], 0x6ff14c
mov dword [edi + 0x1c], ebx
inc ecx
mov dword [edi + 0x64], ebx
mov dword [0x729444], ecx
mov dword [edi + 0xbc], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push esi
mov eax, edi
call fcn.004bb1b0
mov edx, dword [esp + 0x58]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
mov eax, dword [esp + 0x50]
add eax, 0x25
push eax
push ebx
push ebx
push ebx
push edi
mov dword [edi + 0x20], ebx
call fcn.004beac0
test byte [edi + 0x20], 1
jne 0x43055b
call fcn.004bb370
mov eax, dword [edi + 4]
inc eax
mov dword [esp + 0x60], edi
mov dword [edi + 4], eax
mov eax, dword [esp + 0xed0]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
je 0x4305a4
cmp byte [eax], 0
je 0x4305a4
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x54]
push edx
push edi
push edi
push eax
call fcn.004ceb00
add esp, 0x14
cmp eax, edi
je 0x4305a4
mov ecx, dword [eax + 4]
inc ecx
mov dword [esp + 0x54], eax
mov dword [eax + 4], ecx
mov cl, byte [0x8ef61c]
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov eax, 1
test al, cl
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x24], eax
jne 0x4305d2
or dword [0x8ef61c], eax
call esi
mov dword [0x8ef618], eax
call esi
sub eax, dword [0x8ef618]
mov dword [0x86db48], eax
cmp dword [esp + 0x20], 0xffffffff
je 0x4305f1
mov eax, dword [esp + 0xee4]
mov dword [esp + 0x14], eax
push edi
call fcn.0042e1a0
add esp, 4
cmp eax, edi
jne 0x4305f1
mov ecx, dword [esp + 0x7c]
push ecx
mov dword [0x86e35c], edi
mov dword [0x86e360], edi
call dword [sym.imp.USER32.dll_SetCursor]
mov ebp, dword [esp + 0x5c]
test byte [0x8ef61c], 1
mov esi, 0x8cccd0
jne 0x430639
or dword [0x8ef61c], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x8ef618], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x8ef618]
mov edx, dword [0x86db48]
mov ecx, dword [esp + 0xed8]
sub eax, edi
sub eax, edx
cmp eax, ecx
jae 0x43107a
mov al, byte [esp + 0xee8]
test al, al
je 0x430725
mov edx, dword [0x8eed78]
mov ecx, 0x8eed78
call dword [edx + 0x18]
test al, al
jne 0x430698
push 0
push str.The_audio_manager_has_not_been_properly_initialized_yet
mov eax, 1
call fcn.004887a0
add esp, 8
jmp 0x430725
mov al, byte [0x8eaeff]
test al, al
jne 0x430725
xor eax, eax
or ecx, 0xffffffff
sub esp, 0x64
mov dword [esp + 0xf8], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x124], eax
lea eax, [esp + 0xec]
mov ebx, esp
mov dword [esp + 0x14c], esi
mov dword [esp + 0xec], 0x13
mov dword [esp + 0xf4], 0x29
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x114], 0x3f800000
call fcn.00498530
mov edi, 0x8e87b4
call fcn.004a1410
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x54]
test esi, esi
je 0x4307af
mov edi, dword [esp + 0xed0]
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x430740
sub eax, edx
push 3
lea eax, [eax + edi - 3]
push 0x700650
push eax
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x50]
jne 0x430786
cmp eax, 0x400
jne 0x430777
mov dword [esp + 0x48], 0x300
jmp 0x430786
cmp eax, 0x200
jne 0x430786
mov dword [esp + 0x48], 0x180
mov ecx, dword [0x85c268]
mov edx, dword [0x85c26c]
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x54]
push edx
push 0
push 0
push ecx
push eax
push 0
push 0
push esi
call fcn.004af500
add esp, 0x2c
mov edx, dword [esp + 0xedc]
test edx, edx
mov dword [esp + 0x68], 0
je 0x430802
mov dword [esp + 0x68], 1
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x86bb48]
mov byte [esp + eax + 0x6f0], cl
inc eax
test cl, cl
jne 0x4307d0
call edx
xor eax, eax
jmp 0x4307f0
mov cl, byte [esp + eax + 0x6f0]
mov byte [eax + 0x86bb48], cl
inc eax
test cl, cl
jne 0x4307f0
mov esi, dword [esp + 0xecc]
mov eax, esi
and eax, 1
mov dword [esp + 0x78], eax
je 0x430843
mov al, byte [0x86bb48]
test al, al
je 0x430843
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xec8]
mov eax, dword [esp + 0x58]
add ecx, 0xfffffff0
push edx
push ecx
mov ecx, dword [esp + 0x3c]
add eax, 8
add ecx, 0x25
call fcn.00488110
add esp, 8
mov ebx, dword [esp + 0x30]
xor eax, eax
test ebx, ebx
jle 0x43088d
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xed4]
neg ecx
lea ebx, [ebx]
mov edi, dword [esp + 0x24]
test edi, edi
je 0x43088d
mov edi, dword [esp + eax*4 + 0xf0]
cmp byte [edi], 0x20
jne 0x430887
mov edi, 1
shl edi, cl
test edx, edi
jne 0x430887
mov dword [esp + 0x24], 0
inc eax
inc ecx
cmp eax, ebx
jl 0x430860
cmp dword [esp + 0xed8], 0xffffffff
jne 0x4308be
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4308be
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
imul eax, ebx
add ecx, 0xffffffec
push 0xffffffffffffffff
push ecx
lea eax, [eax + esi + 0xc]
xor cl, cl
call fcn.0042feb0
add esp, 8
test ebx, ebx
mov edi, dword [esp + 0xec8]
mov dword [esp + 0x2c], esi
jle 0x430b28
mov eax, dword [esp + 0x20]
mov ebp, eax
lea edx, [esp + 0xf0]
neg ebp
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx]
cmp byte [ebx], 0x20
mov edx, dword [esp + 0x28]
mov dword [0x85c11c], edx
je 0x430945
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x430926
mov eax, dword [esp + 0x68]
test eax, eax
je 0x430926
push 0
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
mov eax, edx
push eax
push esi
push edi
push ebx
xor eax, eax
call fcn.004b0b40
add esp, 0x20
jmp 0x430aff
mov ecx, dword [esp + 0x28]
push 0
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push ecx
push esi
push edi
push ebx
xor eax, eax
call fcn.004b0b40
add esp, 0x20
jmp 0x430aff
lea edx, [eax + ebp]
cmp edx, eax
jne 0x43095c
add edi, 0x10
neg eax
sbb eax, eax
and eax, 5
add esi, eax
mov dword [esp + 0x2c], esi
mov ecx, ebp
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0xed4]
test ecx, eax
je 0x430992
mov edx, dword [esp + 0x28]
push 0
push 0xffffffffffffffff
push 1
push 0x80ffffff
push edx
push esi
push edi
push ebx
xor eax, eax
call fcn.004b0b40
add esp, 0x20
jmp 0x430aff
cmp dword [esp + 0x14], ebp
jne 0x430a6a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
push 0xa0
push 0xc0204080
push ecx
push edx
lea eax, [edi - 0xa]
lea ecx, [esi + 1]
push ecx
mov dword [esp + 0x58], eax
add eax, 0xfffffff2
push eax
push 0
push 0
push 0
push 0
push 0
call fcn.004af500
mov edx, dword [0x85c11c]
add esp, 0x2c
push 0
push 0xffffffffffffffff
push 1
push 0xffffcc00
push edx
push esi
push edi
push ebx
xor eax, eax
call fcn.004b0b40
mov ecx, dword [esp + 0x48]
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x38], eax
add eax, esi
mov dword [esp + 0xa4], eax
fild dword [esp + 0x38]
add esp, 0x20
push 0
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fild dword [esp + 0x88]
push ecx
fild dword [0x8d3450]
fmul dword [esp + 0x20]
fmul dword [str._n__n__n__n_]
faddp st(1)
call fcn.005f275c
fild dword [0x8d344c]
push eax
fmul dword [esp + 0x24]
fmul dword [str._n__n__n__n_]
fiadd dword [esp + 0x50]
call fcn.005f275c
push eax
push 0x8d3418
jmp 0x430afa
mov edx, dword [esp + 0x28]
push 0
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push edx
push esi
push edi
push ebx
xor eax, eax
call fcn.004b0b40
mov ecx, dword [esp + 0x48]
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x38], eax
add eax, esi
mov dword [esp + 0x64], eax
fild dword [esp + 0x38]
add esp, 0x20
push 0
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fild dword [esp + 0x48]
push ecx
fild dword [0x8d3390]
fmul dword [esp + 0x20]
fmul dword [str._n__n__n__n_]
faddp st(1)
call fcn.005f275c
fild dword [0x8d338c]
lea edx, [edi - 0xa]
mov dword [esp + 0x4c], edx
fmul dword [esp + 0x20]
push eax
fmul dword [str._n__n__n__n_]
fiadd dword [esp + 0x50]
call fcn.005f275c
push eax
push 0x8d3358
call fcn.004bc130
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
add eax, 4
add esi, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
inc ebp
lea ecx, [eax + ebp]
cmp ecx, edx
jl 0x4308e4
mov ebp, dword [esp + 0x5c]
cmp dword [0x727408], 0xffffffff
je 0x430b36
call fcn.0042fc40
mov eax, dword [esp + 0xee0]
test eax, eax
je 0x430b4b
mov edx, dword [esp + 0x14]
push edx
call eax
add esp, 4
push str.Menu
call fcn.0042e1a0
mov ebx, eax
mov eax, dword [0x86db5c]
add esp, 4
test eax, eax
mov dword [esp + 0x18], ebx
je 0x430bca
push ebx
push str.Menu
lea eax, [esp + 0x1f8]
push str._s__03X
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov ecx, dword [0x86db5c]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1f0]
push eax
mov edi, ecx
call dword [edx + 4]
mov ecx, dword [edi + 8]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x430bca
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, edi
call dword [edx + 8]
test al, al
jne 0x430bc1
mov esi, dword [esi]
test esi, esi
jne 0x430ba2
jmp 0x430bca
mov edx, dword [esi + 8]
mov dword [esp + 0x18], edx
mov ebx, edx
mov eax, dword [0x8de310]
mov esi, dword [0x8de30c]
mov ecx, dword [esp + 0x74]
inc eax
cmp ecx, esi
jne 0x430be8
cmp dword [esp + 0x70], eax
je 0x430c66
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
sub eax, edx
xor edx, edx
div dword [esp + 0x40]
mov dword [esp + 0x74], esi
cmp eax, ebp
jge 0x430c12
mov ecx, eax
mov edx, 1
shl edx, cl
test dword [esp + 0xed4], edx
je 0x430c15
or eax, 0xffffffff
mov ecx, dword [esp + 0xec8]
add ecx, 0xfffffff8
cmp esi, ecx
jl 0x430c32
mov ecx, dword [esp + 0x64]
add ecx, 0xfffffff8
cmp esi, ecx
jg 0x430c32
test ebp, ebp
jne 0x430c35
or eax, 0xffffffff
mov edi, dword [esp + 0x14]
cmp edi, eax
je 0x430c6a
cmp eax, 0xffffffff
mov edi, eax
mov dword [esp + 0x14], edi
je 0x430c6a
push 0xffffffffffffffff
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x36
push 0x8ca278
call fcn.00488920
add esp, 0x1c
jmp 0x430c6a
mov edi, dword [esp + 0x14]
cmp ebx, 0x10c
mov edx, edi
jg 0x430ccf
je 0x430c85
cmp ebx, 0xd
je 0x430c85
cmp ebx, 0x1b
je 0x430c9f
cmp ebx, 0x20
jne 0x430ce5
mov eax, 2
call fcn.0042e700
mov dword [esp + 0xed8], 0
jmp 0x430d64
mov al, byte [esp + 0xeec]
test al, al
jne 0x430d78
or edi, 0xffffffff
mov eax, 2
mov dword [esp + 0x14], edi
mov dword [esp + 0xed8], 0
call fcn.0042e700
jmp 0x430d78
mov eax, ebx
sub eax, 0x126
je 0x430f26
sub eax, 2
je 0x430ec9
test ebp, ebp
je 0x430d64
test ebx, ebx
jle 0x430d64
cmp ebx, 0x100
jge 0x430d64
test edi, edi
mov byte [esp + 0x3f], bl
jl 0x430d07
cmp edi, ebp
mov eax, edi
jl 0x430d0a
lea eax, [ebp - 1]
xor ebx, ebx
test ebp, ebp
jle 0x430d5c
lea edi, [eax + 1]
mov eax, edi
cdq
idiv ebp
mov eax, dword [esp + 0xed4]
mov esi, edx
mov edx, 1
mov ecx, esi
shl edx, cl
test eax, edx
jne 0x430d56
mov edx, dword [esp + 0x20]
push 1
lea ecx, [esp + 0x43]
push ecx
lea eax, [esi + edx]
mov ecx, dword [esp + eax*4 + 0xf8]
inc ecx
push ecx
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430e9a
inc ebx
inc edi
cmp ebx, ebp
jl 0x430d13
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp ebx, 0x200
jl 0x430d78
cmp ebx, 0x25a
jl 0x43106c
mov eax, dword [0x86e35c]
test eax, eax
je 0x430da3
cmp edi, 0xffffffff
jne 0x430d8e
mov eax, dword [esp + 0x24]
test eax, eax
je 0x430da3
mov eax, 2
call fcn.0042e700
mov dword [esp + 0xed8], 0
mov al, byte [0x8ccc27]
test al, al
jne 0x431072
mov eax, dword [esp + 0xed8]
test eax, eax
jne 0x430ddc
fld dword [0x8ccc44]
fcomp dword [0x715554]
fnstsw ax
test ah, 5
jp 0x430ddc
fld dword [0x8ccc44]
fchs
fstp dword [0x8ccc44]
mov eax, dword [esp + 0xed0]
test eax, eax
je 0x430ffb
mov edi, str.pauseMenuBG.dds
mov esi, eax
mov ecx, 0x10
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x430ffb
mov al, byte [0x72740c]
test al, al
jne 0x430ffb
mov ecx, 0x81
mov esi, 0x700448
mov edi, 0x86bb48
rep movsd dword es:[edi], dword [esi]
push edx
push 0x78
movsb byte es:[edi], byte [esi]
call fcn.00487950
mov ecx, dword [0x85c268]
mov eax, ecx
cdq
push 0
and edx, 7
add eax, edx
sar eax, 3
sub ecx, eax
mov eax, dword [0x85c26c]
push 0x384
push 0x40000004
cdq
push 0xffffffffffffff80
mov esi, 0x32
push esi
sub eax, edx
push ecx
sar eax, 1
push eax
push 0x86bb48
xor eax, eax
mov dword [0x85c11c], esi
call fcn.004b0b40
add esp, 0x28
cmp word [0x728b74], 1
mov dword [esp + 0x38], 0x8cccd0
lea edx, [esp + 0x38]
jae 0x430f87
mov eax, dword [0x728ba0]
push eax
push str.Beta_Version__s_n
jmp 0x430f93
cmp dword [esp + 0x14], esi
je 0x430d5c
push 0xffffffffffffffff
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x36
push 0x8ca278
mov dword [esp + 0x30], esi
call fcn.00488920
add esp, 0x1c
jmp 0x430d5c
test ebp, ebp
jle 0x430d78
mov ebx, dword [esp + 0xed4]
mov esi, edi
lea ebx, [ebx]
lea eax, [edx + 1]
cdq
idiv ebp
mov eax, 1
mov ecx, edx
shl eax, cl
test ebx, eax
je 0x430ef7
cmp edx, edi
jne 0x430ee0
cmp edx, esi
mov edi, edx
mov dword [esp + 0x14], edi
je 0x430d78
push 0xffffffffffffffff
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x36
push 0x8ca278
call fcn.00488920
add esp, 0x1c
jmp 0x430d78
test ebp, ebp
jle 0x430d78
cmp edi, 0xffffffff
mov esi, edi
jne 0x430f37
xor edx, edx
mov ebx, dword [esp + 0xed4]
mov edi, edi
lea eax, [edx + ebp - 1]
cdq
idiv ebp
mov eax, 1
mov ecx, edx
shl eax, cl
test ebx, eax
je 0x430f58
cmp edx, edi
jne 0x430f40
cmp edx, esi
mov edi, edx
mov dword [esp + 0x14], edi
je 0x430d78
push 0xffffffffffffffff
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x36
push 0x8ca278
call fcn.00488920
add esp, 0x1c
jmp 0x430d78
mov ecx, dword [0x728ba0]
push ecx
push str.Version__s_n
call fcn.004f3ce0
mov ecx, dword [0x85c268]
mov eax, 0x2aaaaaab
imul ecx
add esp, 8
push 0
push 0xffffffffffffffff
mov eax, edx
shr eax, 0x1f
add eax, edx
push 2
sub ecx, eax
push 0xffffffffffffff80
push esi
push ecx
mov ecx, dword [0x85c26c]
mov eax, ecx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub ecx, eax
mov dword [0x85c11c], esi
mov esi, dword [esp + 0x50]
push ecx
push esi
xor eax, eax
call fcn.004b0b40
lea eax, [esi - 8]
add esp, 0x20
test eax, eax
je 0x430ffb
cmp eax, 0x8cccc8
je 0x430ffb
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete___void__
add esp, 4
fld dword [0x8ccc44]
mov dword [esp + 0x4c], 0
fcomp dword [0x7157e4]
fnstsw ax
test ah, 5
jp 0x431032
fld dword [0x8ccc44]
fmul dword [0x715558]
fsub dword [0x715698]
fst dword [0x8ccc44]
fstp dword [esp + 0x4c]
push 0
push 0
push 0
call fcn.004d1a40
fld dword [0x715554]
fld dword [esp + 0x58]
add esp, 0xc
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43105f
fld dword [esp + 0x4c]
fchs
fstp dword [0x8ccc44]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x430619
mov dword [esp + 0x14], ebx
jmp 0x43107a
mov dword [esp + 0x14], 0xffffffff
mov esi, dword [esp + 0xed8]
test esi, esi
je 0x4310c2
test byte [0x8ef61c], 1
jne 0x4310a0
or dword [0x8ef61c], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x8ef618], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x8ef618]
mov edx, dword [0x86db48]
sub eax, edi
sub eax, edx
cmp eax, esi
jb 0x4310c2
mov dword [esp + 0x14], 0xfffffffe
mov edi, dword [esp + 0x30]
xor ebx, ebx
xor esi, esi
cmp edi, ebx
jle 0x4310e5
mov edi, edi
mov ecx, dword [esp + esi*4 + 0xf0]
push ecx
call sub.MSVCR71.dll_void___cdecl_operator_delete___void__
add esp, 4
inc esi
cmp esi, edi
jl 0x4310d0
mov al, byte [esp + 0x1f]
test al, al
je 0x4310f7
or dword [0x85c164], 0x8000
mov ecx, dword [0x727408]
or eax, 0xffffffff
cmp ecx, eax
je 0x43112f
mov dword [0x727408], eax
mov eax, dword [0x8de314]
cmp eax, ebx
je 0x43112f
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, ebx
mov dword [eax], esi
jne 0x431129
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [0x8de314], ebx
xor eax, eax
mov cl, byte [esp + eax + 0x2f0]
mov byte [eax + 0x86bb48], cl
inc eax
test cl, cl
jne 0x431131
mov word [0x86e330], bx
lea ebx, [ebx]
push ebx
call fcn.0042e1a0
add esp, 4
cmp eax, ebx
jne 0x431150
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
mov dword [0x86e35c], ebx
mov dword [0x86e360], ebx
je 0x43117c
dec dword [ecx + 4]
jne 0x43117c
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x54]
cmp ecx, ebx
je 0x43118f
dec dword [ecx + 4]
jne 0x43118f
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x7c]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xeb4
ret