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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x25c
mov eax, dword [0x6397d4]
xor eax, esp
mov dword [esp + 0x258], eax
push ebx
push esi
mov esi, ecx
xor eax, eax
cmp dword [esi + 0x18], eax
push edi
mov dword [esp + 0x18], esi
je 0x419468
cmp dword [esi + 0xb6f4], eax
je 0x419468
mov ecx, dword [0x650620]
fldz
mov edx, dword [0x650624]
mov ebx, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ebx
cmp word [esi + ebx*2 + 0x1c], 0
je 0x419416
lea eax, [ebx + 0x33]
shl eax, 5
cmp dword [eax + esi], 0
je 0x419416
mov eax, dword [esp + 0x28]
fld dword [esi + 0xb55c]
fadd qword [0x564738]
mov ecx, eax
shl ecx, 5
add ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
fiadd dword [esp + 0xc]
mov edx, eax
shl edx, 5
add edx, eax
mov dword [esp + 0xc], edx
mov eax, ebx
shl eax, 4
cmp dword [eax + esi + 0x6a64], 0
fstp dword [esp + 0x20]
lea edi, [eax + esi]
fild dword [esp + 0xc]
mov dword [esp + 0x14], edi
fadd dword [esi + 0xb560]
fstp dword [esp + 0x24]
je 0x4184fe
fild dword [0x649a88]
lea ecx, [ebx + 0x6a6]
shl ecx, 4
cmp dword [ecx + esi], 0
lea eax, [ecx + esi]
mov dword [esp + 0x10], eax
je 0x41847f
mov edx, dword [0x649a88]
test edx, edx
jge 0x418477
fadd dword [0x562930]
fmul qword [0x564730]
jmp 0x418494
mov eax, dword [0x649a88]
test eax, eax
jge 0x41848e
fadd dword [0x562930]
fmul qword [0x564728]
call fcn.00551860
add dword [edi + 0x6a68], eax
mov eax, dword [edi + 0x6a68]
cmp eax, 0xff
jle 0x4184c2
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x6a68], 0xff
mov dword [ecx], 0
jmp 0x4184db
cmp eax, 0x46
jge 0x4184db
mov edx, dword [esp + 0x10]
mov dword [edi + 0x6a68], 0x46
mov dword [edx], 1
mov edx, dword [edi + 0x6a68]
mov eax, ebx
shl eax, 5
shl edx, 0x18
or edx, 0xffffff
lea ecx, [eax + esi + 0x65c]
push edx
lea eax, [esp + 0x24]
push eax
jmp 0x418511
mov ecx, ebx
shl ecx, 5
push 0xffffffffffffffff
lea edx, [esp + 0x24]
lea ecx, [ecx + esi + 0x65c]
push edx
push ecx
fstp dword [esp]
push 0
push 0
mov dword [esp + 0x20], ecx
call fcn.0041ff10
push 0x7f
lea eax, [esp + 0x1e5]
push 0
push eax
mov byte [esp + 0x1ec], 0
call sub.MSVCR80.dll_memset
mov edi, dword [0x649a8c]
sub edi, dword [esi + ebx*4 + 0xa8dc]
mov eax, dword [esi + ebx*4 + 0x9c5c]
add esp, 0xc
cmp edi, eax
jae 0x418617
sub eax, edi
cmp eax, 0x2710
jb 0x418617
fldz
push 0xf56969
lea ecx, [esp + 0x24]
push ecx
push ecx
mov ecx, dword [esp + 0x18]
fstp dword [esp]
push 0
push 0
call fcn.0041ff10
mov edx, dword [esi + ebx*4 + 0x9c5c]
sub edx, edi
mov eax, 0x10624dd3
mul edx
shr edx, 6
add edx, 1
push edx
lea eax, [esp + 0x1e4]
push 0x564720
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
fld dword [esp + 0x20]
call fcn.00551860
fld dword [esp + 0x24]
add eax, 5
mov dword [esp + 0x40], eax
call fcn.00551860
add eax, 2
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x1e0]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4185e8
push 0x64b9b9b9
sub eax, ecx
push 0xfffafafa
lea ecx, [esp + 0x48]
push ecx
push eax
lea edx, [esp + 0x1f0]
push edx
push 0xe
mov ecx, 0x647ca8
call fcn.0041d060
mov eax, dword [esi + ebx*4 + 0x9c5c]
cmp edi, eax
jae 0x41878f
sub eax, edi
cmp eax, 0x2710
ja 0x41878f
fild dword [0x649a88]
lea eax, [ebx + 0x6a6]
shl eax, 4
add eax, esi
cmp dword [eax], 0
mov dword [esp + 0x10], eax
je 0x418665
mov ecx, dword [0x649a88]
test ecx, ecx
jge 0x41865d
fadd dword [0x562930]
fmul qword [0x564730]
jmp 0x41867b
mov edx, dword [0x649a88]
test edx, edx
jge 0x418675
fadd dword [0x562930]
fmul qword [0x564728]
call fcn.00551860
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x6a68], eax
mov eax, dword [ecx + 0x6a68]
cmp eax, 0xff
jle 0x4186ad
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x6a68], 0xff
mov dword [eax], 0
jmp 0x4186c6
cmp eax, 0x46
jge 0x4186c6
mov dword [ecx + 0x6a68], 0x46
mov ecx, dword [esp + 0x10]
mov dword [ecx], 1
mov eax, dword [esp + 0x14]
fldz
mov edx, dword [eax + 0x6a68]
shl edx, 0x18
or edx, 0xffffff
push edx
mov dword [eax + 0x6a64], 1
lea eax, [esp + 0x24]
push eax
push ecx
mov ecx, dword [esp + 0x18]
fstp dword [esp]
push 0
push 0
call fcn.0041ff10
mov ecx, dword [esi + ebx*4 + 0x9c5c]
sub ecx, edi
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov edi, 1
add edx, edi
push edx
lea edx, [esp + 0x1e4]
push 0x564720
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
fld dword [esp + 0x20]
call fcn.00551860
fld dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x50], eax
call fcn.00551860
add eax, 2
mov dword [esp + 0x54], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
lea edi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x418760
push 0x64b9b9b9
push 0xffff6464
lea ecx, [esp + 0x58]
push ecx
sub eax, edi
push eax
lea edx, [esp + 0x1f0]
push edx
push 0xe
mov ecx, 0x647ca8
call fcn.0041d060
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esi + 0xb564]
mov dword [esp + 0x28], eax
jl 0x4187af
add dword [esp + 0x38], 1
mov dword [esp + 0x28], 0
push 0x7f
lea eax, [esp + 0x65]
push 0
push eax
mov byte [esp + 0x6c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
cmp dword [0x62ae00], 0
jne 0x41937a
fild dword [esp + 0x34]
fsub dword [esp + 0x20]
call fcn.00551860
fild dword [esp + 0x2c]
mov edi, eax
fsub dword [esp + 0x24]
call fcn.00551860
add edi, 0xffffffff
cmp edi, 0x1f
ja 0x41937a
add eax, 0xffffffff
cmp eax, 0x1f
ja 0x41937a
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x6a5c], 0
je 0x418bb4
lea edi, [esi + 0xb568]
mov ecx, edi
call fcn.00423ee0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x6a5c]
push eax
mov ecx, 0x649790
call fcn.00497520
mov ebx, eax
test ebx, ebx
je 0x419410
push 0x3f
lea ecx, [esp + 0xe5]
push 0
push ecx
mov byte [esp + 0xec], 0
call sub.MSVCR80.dll_memset
lea edx, [ebx + 4]
push edx
lea eax, [esp + 0xf0]
push 0x564718
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
push 0
push 0
push 0xffffff
lea ecx, [esp + 0xec]
push ecx
mov ecx, edi
call fcn.00424130
push 0
push 0
push 0xffffffffffffffff
push 0x562815
mov ecx, edi
call fcn.00424130
movzx edx, word [ebx + 0x26]
push edx
mov ecx, 0x649790
call fcn.00497550
mov esi, eax
test esi, esi
je 0x4188cf
mov eax, dword [esi]
push 0
push 0
push 0xc8d7aa
push eax
mov ecx, edi
call fcn.00424130
mov esi, dword [esi + 4]
test esi, esi
jne 0x4188b5
push 0
push 0
push 0xffffffffffffffff
push 0x562815
mov ecx, edi
call fcn.00424130
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x6a5c]
push edx
mov ecx, 0x649790
call fcn.00497a80
test eax, eax
je 0x4192db
mov ecx, dword [ebx + 0x30]
cmp ecx, 1
jne 0x4189f9
mov esi, dword [eax + 0x4c]
push 0
push 0
push 0xffffff
push 0x2fe
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
mov ecx, edi
call fcn.00424130
mov eax, esi
shr eax, 6
and eax, 0x3f
push eax
mov ecx, esi
shr ecx, 0xc
mov edx, esi
and ecx, 0x3f
push ecx
mov eax, esi
shr edx, 0x12
and edx, 0x3f
push edx
shr eax, 0x18
and eax, 0xf
push eax
shr esi, 0x1c
add esi, 0xf
push esi
push 0x2ff
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea ecx, [esp + 0x78]
push ecx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x1c
push 0
push 0
push 0xffc800
lea edx, [esp + 0x6c]
push edx
mov ecx, edi
call fcn.00424130
cmp word [ebx + 0x2a], 0x104
jne 0x4192db
cmp word [ebx + 0x3e], 0
je 0x4192db
push 0
push 0
push 0xffffffffffffffff
push 0x562815
mov ecx, edi
call fcn.00424130
mov eax, dword [0x648a5c]
movsx ecx, byte [eax + 0x5b9]
push ecx
push 0x2da
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0xc
push 0
push 0
push 0xffc800
lea eax, [esp + 0x6c]
push eax
mov ecx, edi
call fcn.00424130
jmp 0x4192db
cmp ecx, 2
jne 0x418b1c
mov ecx, dword [eax + 0x4c]
mov eax, 0x31b5d43b
mul ecx
mov ebx, edx
shr ebx, 0x18
mov edx, ebx
imul edx, edx, 0x5265c00
sub ecx, edx
mov eax, 0x4a90be59
imul ecx
sar edx, 0x14
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
imul eax, eax, 0x36ee80
sub ecx, eax
mov eax, 0x45e7b273
imul ecx
sar edx, 0xe
push 0
mov eax, edx
push 0
shr eax, 0x1f
push 0xffffff
add eax, edx
push 0x300
mov ecx, 0x64aa48
mov dword [esp + 0x1c], eax
call fcn.004bcff0
push eax
mov ecx, edi
call fcn.00424130
test ebx, ebx
je 0x418a99
mov ecx, dword [esp + 0xc]
add ecx, 1
push ecx
push esi
push ebx
push 0x301
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0x70]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x14
jmp 0x418b02
test esi, esi
mov eax, dword [esp + 0xc]
mov ecx, 0x64aa48
je 0x418ac6
add eax, 1
push eax
push esi
push 0x302
call fcn.004bcff0
push eax
lea ecx, [esp + 0x6c]
push ecx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x10
jmp 0x418b02
test eax, eax
je 0x418ae9
add eax, 1
push eax
push 0x303
call fcn.004bcff0
push eax
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0xc
jmp 0x418b02
push 0x304
call fcn.004bcff0
push eax
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 8
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call fcn.00424130
jmp 0x4192db
cmp ecx, 4
jne 0x4192db
cmp word [ebx + 0x2a], 0x104
jne 0x4192db
cmp word [ebx + 0x3e], 0
je 0x4192db
push 0
push 0
push 0xffc800
push 0x2ed
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
mov ecx, edi
call fcn.00424130
push 0
push 0
push 0xffffffffffffffff
push 0x562815
mov ecx, edi
call fcn.00424130
mov edx, dword [0x648a5c]
movsx eax, byte [edx + 0x5b9]
push eax
push 0x2da
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea ecx, [esp + 0x68]
push ecx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0xc
push 0
push 0
push 0xffc800
lea edx, [esp + 0x6c]
push edx
mov ecx, edi
call fcn.00424130
jmp 0x4192db
cmp ebx, 0x7f
jne 0x418d39
mov ecx, dword [esp + 0x18]
add ecx, 0xb568
mov dword [esp + 0x10], ecx
call fcn.00423ee0
mov eax, dword [0x64e398]
mov ecx, 0x64e38c
mov dword [esp + 0xc], 0
mov dword [0x64e3a0], eax
call fcn.00417f40
mov esi, eax
test esi, esi
je 0x418d2b
mov ebx, dword [sym.imp.MSVCR80.dll_sprintf]
lea esp, [esp]
cmp dword [esi + 0x218], 0
je 0x418d0d
mov ecx, esi
call fcn.004d86f0
push eax
mov ecx, 0x64e340
call fcn.004d9d70
mov cl, byte [esi + 0x21c]
cmp cl, 1
je 0x418c5c
cmp cl, 2
je 0x418c5c
cmp cl, 3
jne 0x418c92
test eax, eax
mov ecx, 0x64aa48
je 0x418c45
push eax
push 0x480
jmp 0x418c82
push 0x562815
push 0x480
call fcn.004bcff0
push eax
lea edx, [esp + 0x68]
push edx
jmp 0x418c8d
test eax, eax
mov ecx, 0x64aa48
je 0x418c78
push eax
push 0x482
call fcn.004bcff0
push eax
lea eax, [esp + 0x68]
push eax
jmp 0x418c8d
push 0x562815
push 0x482
call fcn.004bcff0
push eax
lea ecx, [esp + 0x68]
push ecx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0xffffff
lea edx, [esp + 0x6c]
push edx
call fcn.00424130
mov eax, dword [esi + 0x21d]
mov ecx, eax
shl ecx, 0x14
mov edx, eax
mov esi, eax
shr ecx, 0x1a
push ecx
shl edx, 0xe
mov edi, eax
shr edx, 0x1a
push edx
shl esi, 8
shl edi, 4
shr esi, 0x1a
push esi
shr edi, 0x1c
push edi
shr eax, 0x1c
push eax
push 0x2ff
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea eax, [esp + 0x78]
push eax
call ebx
add esp, 0x1c
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00424130
add dword [esp + 0xc], 1
mov ecx, 0x64e38c
call fcn.00417f40
mov esi, eax
test esi, esi
jne 0x418c00
cmp dword [esp + 0xc], eax
jne 0x4192db
mov ecx, dword [esp + 0x18]
call fcn.00417e00
jmp 0x4192db
cmp ebx, dword [esi + 4]
jg 0x418dc3
mov edx, dword [esi + 0x14]
mov eax, dword [edx + ebx*4]
lea ecx, [esi + 0xb568]
push eax
mov dword [esp + 0x14], ecx
call fcn.00423f30
mov edi, dword [0x649a8c]
sub edi, dword [esi + ebx*4 + 0xa8dc]
mov esi, dword [esi + ebx*4 + 0x9c5c]
cmp edi, esi
jae 0x4192db
mov ecx, esi
sub ecx, edi
cmp ecx, 0xea60
jb 0x419271
mov eax, ecx
xor edx, edx
mov ecx, 0xea60
div ecx
mov ecx, eax
mov eax, 0x10624dd3
mul edx
shr edx, 6
add edx, 1
push edx
push ecx
push 0x553
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0x6c]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x10
jmp 0x41929d
cmp ebx, 0x85
je 0x4191a9
cmp ebx, 0x86
je 0x4191a9
cmp ebx, 0x87
je 0x4191a9
cmp ebx, 0x8c
je 0x419070
cmp ebx, 0x8d
je 0x419070
cmp ebx, 0x8e
je 0x419070
cmp ebx, 0x8f
je 0x419070
cmp ebx, 0x94
jne 0x419030
mov edi, dword [esp + 0x18]
lea esi, [edi + 0xb568]
mov ecx, esi
call fcn.00423ee0
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 0xd8]
push 0
push 0
push 0xffc800
push ecx
mov ecx, esi
call fcn.00424130
push 0
push 0
push 0xffffffffffffffff
push 0x562815
mov ecx, esi
call fcn.00424130
push 0xff
lea edx, [esp + 0xe5]
push 0
push edx
mov byte [esp + 0xec], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 1
mov ecx, 0x62d670
call fcn.004b1360
test eax, eax
je 0x418ed9
push 1
mov ecx, 0x62d670
call fcn.004b1360
push eax
push 0x587
mov ecx, 0x64aa48
call fcn.004bcff0
mov edi, dword [sym.imp.MSVCR80.dll_sprintf]
push eax
lea eax, [esp + 0xe8]
push eax
call edi
add esp, 0xc
push 0
push 0
push 0xffffff
lea ecx, [esp + 0xec]
push ecx
mov ecx, esi
call fcn.00424130
jmp 0x418edf
mov edi, dword [sym.imp.MSVCR80.dll_sprintf]
push 2
mov ecx, 0x62d670
call fcn.004b1360
test eax, eax
je 0x418f31
push 2
mov ecx, 0x62d670
call fcn.004b1360
push eax
push 0x578
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0xe8]
push edx
call edi
add esp, 0xc
push 0
push 0
push 0xffffff
lea eax, [esp + 0xec]
push eax
mov ecx, esi
call fcn.00424130
push 3
mov ecx, 0x62d670
call fcn.004b1360
test eax, eax
je 0x418f83
push 3
mov ecx, 0x62d670
call fcn.004b1360
push eax
push 0x57d
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea ecx, [esp + 0xe8]
push ecx
call edi
add esp, 0xc
push 0
push 0
push 0xffffff
lea edx, [esp + 0xec]
push edx
mov ecx, esi
call fcn.00424130
push 4
mov ecx, 0x62d670
call fcn.004b1360
test eax, eax
je 0x418fd5
push 4
mov ecx, 0x62d670
call fcn.004b1360
push eax
push 0x57e
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea eax, [esp + 0xe8]
push eax
call edi
add esp, 0xc
push 0
push 0
push 0xffffff
lea ecx, [esp + 0xec]
push ecx
mov ecx, esi
call fcn.00424130
push 5
mov ecx, 0x62d670
call fcn.004b1360
test eax, eax
je 0x4192db
push 5
mov ecx, 0x62d670
call fcn.004b1360
push eax
push 0x58f
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0xe8]
push edx
call edi
add esp, 0xc
push 0
push 0
push 0xffffff
lea eax, [esp + 0xec]
push eax
mov ecx, esi
call fcn.00424130
jmp 0x4192db
cmp ebx, 0xa5
je 0x41904c
cmp ebx, 0xa6
jne 0x4192db
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea edi, [esi + 0xb568]
mov ecx, edi
mov dword [esp + 0x10], edi
call fcn.00423ee0
push 0
push 0
push 0xffffff
push 0x68b
jmp 0x4191fb
lea edi, [esi + 0xb568]
mov ecx, edi
call fcn.00423ee0
call fcn.00402010
lea eax, [ebx - 0x8c]
xor esi, esi
cmp eax, 3
ja case.default.0x41908f
jmp dword [eax*4 + 0x419480]
xor esi, esi
jmp case.default.0x41908f
mov esi, 1
jmp case.default.0x41908f
mov esi, 2
jmp case.default.0x41908f
mov esi, 3
push 0x7f
lea eax, [esp + 0xe5]
push 0
push eax
mov byte [esp + 0xec], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0xe0]
push ecx
push esi
call fcn.00402010
mov ecx, eax
call fcn.004e4670
lea edx, [esp + 0xe0]
push edx
push 0x565
mov ecx, 0x64aa48
call fcn.004bcff0
mov ebx, dword [sym.imp.MSVCR80.dll_sprintf]
push eax
lea eax, [esp + 0x68]
push eax
call ebx
add esp, 0xc
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call fcn.00424130
push esi
call fcn.00402010
mov ecx, eax
call fcn.004e4650
push 0
push 0
push 0xffffff
push 0x2fe
mov ecx, 0x64aa48
mov esi, eax
call fcn.004bcff0
push eax
mov ecx, edi
call fcn.00424130
mov edx, esi
shr edx, 6
and edx, 0x3f
push edx
mov eax, esi
mov ecx, esi
shr eax, 0xc
shr ecx, 0x12
mov edx, esi
and eax, 0x3f
push eax
and ecx, 0x3f
push ecx
shr edx, 0x18
and edx, 0xf
push edx
shr esi, 0x1c
add esi, 0xf
push esi
push 0x2ff
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea eax, [esp + 0x78]
push eax
call ebx
add esp, 0x1c
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call fcn.00424130
jmp 0x4192db
lea edi, [esi + 0xb568]
mov ecx, edi
mov dword [esp + 0x10], edi
call fcn.00423ee0
mov eax, ebx
sub eax, 0x85
je 0x4191ed
sub eax, 1
je 0x4191dd
sub eax, 1
jne 0x41920d
push 0
push 0
push 0xffffff
push 0x54d
jmp 0x4191fb
push 0
push 0
push 0xffffff
push 0x54c
jmp 0x4191fb
push 0
push 0
push 0xffffff
push 0x54e
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
mov ecx, edi
call fcn.00424130
mov edi, dword [0x649a8c]
sub edi, dword [esi + ebx*4 + 0xa8dc]
mov esi, dword [esi + ebx*4 + 0x9c5c]
cmp edi, esi
jae 0x4192db
mov ecx, esi
sub ecx, edi
cmp ecx, 0xea60
jb 0x419271
mov eax, ecx
xor edx, edx
mov ecx, 0xea60
div ecx
mov ecx, eax
mov eax, 0x10624dd3
mul edx
shr edx, 6
add edx, 1
push edx
push ecx
push 0x553
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea edx, [esp + 0x6c]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x10
jmp 0x41929d
mov eax, 0x10624dd3
mul ecx
shr edx, 6
add edx, 1
push edx
push 0x245
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0xc
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00424130
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + eax*4 + 0x9c5c]
sub ecx, edi
cmp ecx, 0x1388
ja 0x4192db
mov edx, dword [esp + 0x14]
mov dword [edx + 0x6a64], 1
cmp dword [0x639d7c], 0
je 0x419345
push 0x3f
lea eax, [esp + 0xe5]
push 0
push eax
mov byte [esp + 0xec], 0
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
movzx edx, word [esi + eax*2 + 0x1c]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push edx
lea eax, [esp + 0xf8]
push str.__d___d__d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
push 0
push 0
push 0xffffff
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esi + 0xb568]
call fcn.00424130
jmp 0x419349
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
lea eax, [esi + 0xb568]
mov esi, dword [esp + 0x18]
add edx, 0x22
add ecx, 0x1c
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x160], 1
mov dword [0x62adfc], eax
cmp dword [esi + 0xc], 0
je 0x4193fb
cmp dword [0x6505e8], 0
je 0x4193fb
fild dword [esp + 0x34]
fsub dword [esp + 0x20]
call fcn.00551860
fild dword [esp + 0x2c]
mov edi, eax
fsub dword [esp + 0x24]
call fcn.00551860
add edi, 0xffffffff
cmp edi, 0x21
ja 0x4193fb
add eax, 0xffffffff
cmp eax, 0x21
ja 0x4193fb
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x6a5c]
cmp dword [esi + 8], eax
je 0x4193fb
test eax, eax
je 0x4193fb
mov dword [esi + 8], eax
mov edx, dword [ecx + 0x6a5c]
push edx
mov ecx, 0x649790
call fcn.00497520
mov edi, eax
test edi, edi
je 0x419414
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6a5c]
push ecx
mov ecx, 0x649790
call fcn.00497a80
test eax, eax
jne 0x419440
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esi + 0xb6ec]
mov dword [esp + 0x30], eax
jge 0x419468
jmp 0x419414
mov ebx, dword [esp + 0x1c]
fldz
add ebx, 1
cmp ebx, 0x320
mov dword [esp + 0x1c], ebx
jl 0x4183d5
fstp st(0)
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.0055160d
mov esp, ebp
pop ebp
ret
add edi, 4
push edi
push 0x8e5
mov ecx, 0x64aa48
call fcn.004bcff0
push eax
push 2
push 0x272b
push 0x62adb0
call fcn.00439540
add esp, 0x14
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0055160d
mov esp, ebp
pop ebp
ret