Function at 0x428c40
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x6159cb
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x685e38]
xor eax, esp
push eax
lea eax, [esp + 0x2f4]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x3c], esi
mov eax, dword [esi + 0x54]
xor edi, edi
push eax
lea ecx, [esp + 0xf4]
mov dword [esi + 0xe4], edi
call fcn.00476800
lea ecx, [esp + 0x138]
call fcn.00401040
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x30]
lea ecx, [esp + 0x110]
mov dword [esp + 0x2fc], edi
mov dword [esp + 0x28], edx
call fcn.005ed1b0
push 0x6350ec
lea ecx, [esp + 0x114]
mov byte [esp + 0x300], 1
call fcn.005edbf0
lea ecx, [esp + 0x104]
call fcn.005ed1b0
push str.BOTTOM
lea ecx, [esp + 0x108]
mov byte [esp + 0x300], 2
call fcn.005edbf0
lea ecx, [esp + 0xcc]
call fcn.005f3af0
push edi
lea ecx, [esp + 0xd0]
mov byte [esp + 0x300], 3
call fcn.005ee750
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0xcc], edi
cmp ecx, edi
je 0x428d2e
lea eax, [esp + 0xcc]
push eax
call fcn.0047d3f0
mov esi, dword [esi + 0x48]
mov eax, dword [esi + 0x30]
cmp eax, edi
jle 0x428d61
mov esi, dword [esi + 0x34]
mov ebp, dword [esi]
cmp ebp, edi
je 0x428d61
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x428d5f
mov esi, dword [ebp + 4]
and esi, 0x7f
call fcn.005018f0
mov esi, dword [eax + esi*4 - 4]
push ebp
mov ecx, esi
call fcn.00500ce0
mov edi, eax
mov eax, dword [edi + 0x24]
xor ebx, ebx
test eax, eax
jbe 0x428dba
mov ecx, edi
call fcn.00502510
mov eax, dword [edi + 0x24]
movzx esi, bx
cmp esi, eax
jge 0x428d9d
mov eax, dword [edi + 0x24]
cmp esi, eax
lea ebp, [edi + 0x20]
jl 0x428d92
mov ecx, esi
sub ecx, eax
inc ecx
push ecx
mov ecx, ebp
call fcn.004080a0
mov eax, dword [ebp + 8]
lea edx, [esi + esi*2]
lea esi, [eax + edx*4]
jmp 0x428d9f
xor esi, esi
mov ecx, esi
call fcn.004f69c0
cmp eax, 5
je 0x428db3
inc ebx
cmp ebx, dword [edi + 0x24]
jb 0x428d6a
jmp 0x428dba
mov ecx, esi
call fcn.00435660
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x48]
mov edx, dword [eax + 0x30]
dec ecx
movzx ecx, cx
movzx ecx, cx
cmp edx, ecx
jle 0x428e02
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
lea ecx, [eax + ecx*4]
test esi, esi
je 0x428e02
mov eax, dword [esi + 8]
test eax, eax
jne 0x428dfe
mov edi, dword [esi + 4]
and edi, 0x7f
call fcn.005018f0
mov edi, dword [eax + edi*4 - 4]
push esi
mov ecx, edi
call fcn.00500ce0
mov edi, eax
jmp 0x428e04
xor edi, edi
xor ebx, ebx
cmp dword [edi + 0x24], ebx
jbe 0x428e60
jmp 0x428e10
mov ecx, edi
call fcn.00502510
mov eax, dword [edi + 0x24]
movzx esi, bx
cmp esi, eax
jge 0x428e43
mov eax, dword [edi + 0x24]
cmp esi, eax
lea ebp, [edi + 0x20]
jl 0x428e38
mov ecx, esi
sub ecx, eax
inc ecx
push ecx
mov ecx, ebp
call fcn.004080a0
mov eax, dword [ebp + 8]
lea edx, [esi + esi*2]
lea esi, [eax + edx*4]
jmp 0x428e45
xor esi, esi
mov ecx, esi
call fcn.004f69c0
cmp eax, 5
je 0x428e59
inc ebx
cmp ebx, dword [edi + 0x24]
jb 0x428e10
jmp 0x428e60
mov ecx, esi
call fcn.00435660
xor esi, esi
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1c], esi
call fcn.005f3af0
push esi
lea ecx, [esp + 0xc4]
mov byte [esp + 0x300], 4
call fcn.005ee750
lea ecx, [esp + 0xd8]
mov dword [esp + 0xc0], esi
call fcn.005f3af0
push esi
lea ecx, [esp + 0xdc]
mov byte [esp + 0x300], 5
call fcn.005ee750
lea ecx, [esp + 0xe4]
mov dword [esp + 0xd8], esi
call fcn.005f3af0
push esi
lea ecx, [esp + 0xe8]
mov byte [esp + 0x300], 6
call fcn.005ee750
lea ecx, [esp + 0x20]
mov dword [esp + 0xe4], esi
call dword [sym.imp.mfc90.dll_Ordinal_316]
lea ecx, [esp + 0x74]
mov byte [esp + 0x2fc], 7
call fcn.005ed1b0
mov edi, dword [esp + 0x310]
test dword [edi + 0xc8], 0x400
mov byte [esp + 0x2fc], 8
je 0x42937e
mov eax, dword [edi + 0x84]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
call fcn.005edd80
mov ebp, dword [esp + 0x48]
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebp
call fcn.00406f20
mov bl, 9
push 0x40
mov byte [esp + 0x300], bl
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x80], eax
mov byte [esp + 0x2fc], 0xa
test eax, eax
je 0x428f71
mov ecx, eax
call fcn.00402080
mov esi, eax
jmp 0x428f73
xor esi, esi
mov edx, dword [esp + 0x14]
push edx
mov ecx, esi
mov byte [esp + 0x300], bl
call fcn.00402120
cmp al, 1
je 0x428ff1
lea ecx, [esp + 0x5c]
call fcn.005ed1b0
push str.CSV_File_not_read._File:
lea ecx, [esp + 0x60]
mov byte [esp + 0x300], 0xb
call fcn.005edbf0
mov eax, dword [edi + 0x84]
push eax
lea ecx, [esp + 0x60]
call fcn.005edc30
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x686158]
push eax
call fcn.00405b20
mov ecx, dword [0x686158]
call fcn.00405ca0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x1c], 1
mov byte [esp + 0x2fc], bl
call fcn.005ed430
jmp 0x42929c
xor edi, edi
push 0
push edi
mov ecx, esi
call fcn.00402280
inc edi
cmp edi, 2
jl 0x428ff3
mov ecx, esi
call fcn.00402550
mov ecx, esi
xor edi, edi
call fcn.004da210
test eax, eax
jle 0x429089
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.004019a0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x300], 0xc
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x28]
mov byte [esp + 0x2fc], bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_4481]
test edi, edi
jne 0x42905d
push 0x6350c4
jmp 0x429067
cmp edi, 1
jne 0x42907d
push str.NAME
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_1603]
test eax, eax
je 0x42907d
mov dword [esp + 0x1c], 1
mov ecx, esi
inc edi
call fcn.004da210
cmp edi, eax
jl 0x429017
mov ecx, esi
call fcn.00496700
xor edi, edi
mov dword [esp + 0x38], eax
test eax, eax
jle 0x42929c
mov edi, edi
push 0
push edi
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.00402390
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x300], 0xd
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x28]
mov byte [esp + 0x2fc], bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_4481]
push 0x6350b8
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_1603]
test eax, eax
jne 0x429163
push 1
push edi
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.00402390
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, ebp
mov byte [esp + 0x304], 0xe
call fcn.0041d5a0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x304], 0xf
call fcn.005ed450
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2fc], 0xe
call fcn.005ed430
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov edx, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
jmp 0x42927a
push str.PART
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_1603]
test eax, eax
jne 0x4291ef
push 1
push edi
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00402390
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, ebp
mov byte [esp + 0x304], 0x10
call fcn.0041d5a0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x304], 0x11
call fcn.005ed450
lea ecx, [esp + 0x90]
mov byte [esp + 0x2fc], 0x10
call fcn.005ed430
lea ecx, [esp + 0x24]
mov byte [esp + 0x2fc], bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
jmp 0x42927a
push str.PACKAGE
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_1603]
test eax, eax
jne 0x429291
push 1
push edi
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.00402390
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, ebp
mov byte [esp + 0x304], 0x12
call fcn.0041d5a0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x304], 0x13
call fcn.005ed450
lea ecx, [esp + 0x84]
mov byte [esp + 0x2fc], 0x12
call fcn.005ed430
lea ecx, [esp + 0x18]
mov byte [esp + 0x2fc], bl
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0xe4]
push edx
call fcn.005ee750
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ecx
push edx
mov ecx, eax
call fcn.005ed450
inc edi
cmp edi, dword [esp + 0x38]
jl 0x4290a0
test esi, esi
je 0x4292aa
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
cmp dword [esp + 0x1c], 1
lea ecx, [esp + 0x14]
jne 0x429370
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x74]
mov byte [esp + 0x2fc], 7
call fcn.005ed430
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0xe4]
mov byte [esp + 0x2fc], 5
call fcn.005ee6d0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x2fc], 4
call fcn.005ee6d0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x2fc], 3
call fcn.005ee6d0
lea ecx, [esp + 0xcc]
mov byte [esp + 0x2fc], 2
call fcn.005ee6d0
lea ecx, [esp + 0x104]
mov byte [esp + 0x2fc], 1
call fcn.005ed430
lea ecx, [esp + 0x110]
mov byte [esp + 0x2fc], 0
call fcn.005ed430
lea ecx, [esp + 0x138]
mov dword [esp + 0x2fc], 0xffffffff
call fcn.004011b0
xor eax, eax
jmp 0x429d9d
mov byte [esp + 0x2fc], 8
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esp + 0x310]
fld dword [eax + 0xec]
lea ecx, [esp + 0xf0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp qword [esp + 0xfc]
call fcn.004766d0
mov ecx, dword [esp + 0xf8]
test ecx, ecx
je 0x429cee
mov esi, ecx
mov dword [esp + 0x2c], esi
test ecx, ecx
je 0x429cd3
cmp dword [esp + 0x30c], 1
jne 0x4293d7
test byte [ecx + 0x3c], 1
je 0x429cd3
xor ebp, ebp
call fcn.00470f00
mov dword [esp + 0x34], eax
cmp dword [eax + 0x4c], ebp
jne 0x429422
mov ebp, 1
cmp dword [esp + 0x308], ebp
je 0x429cd3
mov ecx, dword [esp + 0x310]
test dword [ecx + 0xc8], 0x1000
mov ebx, dword [esp + 0x3c]
je 0x429426
push esi
mov ecx, ebx
call fcn.0041fcd0
test eax, eax
je 0x429cd3
jmp 0x429426
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0xc0], 0
jle 0x429478
sub esp, 0xc
lea edx, [esp + 0xcc]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.005ee8e0
mov eax, dword [esi + 0x2c]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
mov byte [esp + 0x318], 0x14
call fcn.005edd80
mov ecx, ebx
mov byte [esp + 0x314], 8
call fcn.00421330
cmp eax, 1
je 0x429cd3
mov ecx, esi
call fcn.00470f00
lea ecx, [eax + 0x28]
call fcn.00502680
push eax
lea ecx, [esp + 0x44]
call fcn.005edd80
cmp dword [esp + 0x44], 0
mov byte [esp + 0x2fc], 0x15
jbe 0x4294f3
cmp dword [esp + 0xd8], 0
jle 0x4294f3
sub esp, 0xc
lea eax, [esp + 0xe4]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.005ee8e0
sub esp, 0xc
lea edx, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x318], 0x16
call fcn.005edb30
mov ecx, ebx
mov byte [esp + 0x314], 0x15
call fcn.00421330
cmp eax, 1
je 0x429cc2
test byte [esi + 0x3c], 2
mov ecx, esi
je 0x429502
call fcn.00470ed0
jmp 0x429507
call fcn.004c1290
mov edi, dword [esp + 0x2c]
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.004c1290
mov ecx, edi
mov esi, eax
call fcn.00470ed0
mov ecx, dword [esp + 0x2c]
mov edi, eax
call fcn.00470f30
test eax, eax
je 0x429541
mov ecx, dword [esp + 0x2c]
call fcn.00470f30
lea ecx, [eax + 0x28]
call fcn.00502680
jmp 0x429546
mov eax, 0x633c9c
push eax
lea ecx, [esp + 0x88]
call fcn.005edd80
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x2fc], 0x17
call fcn.004aa440
test eax, eax
je 0x429572
lea ecx, [eax + 0x28]
call fcn.00502680
jmp 0x429577
mov eax, 0x633c9c
push eax
lea ecx, [esp + 0xb8]
call fcn.005edd80
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x2fc], 0x18
call fcn.004b2390
push eax
lea ecx, [esp + 0x54]
call fcn.005edd80
mov ecx, esi
mov byte [esp + 0x2fc], 0x19
call fcn.004b2390
push eax
lea ecx, [esp + 0xa0]
call fcn.005edd80
mov ecx, edi
mov byte [esp + 0x2fc], 0x1a
call fcn.004b2390
push eax
lea ecx, [esp + 0xac]
call fcn.005edd80
cmp dword [esp + 0x40], 0
mov byte [esp + 0x2fc], 0x1b
je 0x429c61
cmp dword [esp + 0x50], 0
je 0x429c61
push 0x633c9c
lea ecx, [esp + 0x6c]
call fcn.005edd80
mov esi, dword [esp + 0x2c]
mov ecx, esi
mov byte [esp + 0x2fc], 0x1c
call fcn.0049d210
mov edi, eax
test edi, edi
je 0x42968c
lea ecx, [edi + 0x28]
call fcn.00502680
push eax
lea ecx, [esp + 0x6c]
call fcn.005edbf0
cmp dword [esp + 0x6c], 0
jbe 0x42969f
cmp dword [esp + 0xe4], 0
jle 0x42969f
sub esp, 0xc
lea eax, [esp + 0xf0]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.005ee8e0
sub esp, 0xc
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
mov byte [esp + 0x318], 0x1d
call fcn.005edb30
mov ecx, ebx
mov byte [esp + 0x314], 0x1c
call fcn.00421330
cmp eax, 1
jne 0x42969f
jmp 0x429c50
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.005ed450
lea ecx, [esp + 0x90]
call fcn.005f3af0
push 0
lea ecx, [esp + 0x94]
mov byte [esp + 0x300], 0x1e
call fcn.00433100
push 0
lea edx, [ebx + 0x1f0]
push edx
push esi
lea ecx, [esp + 0x128]
mov dword [esp + 0x9c], 0
call fcn.004330d0
push 1
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x124]
mov byte [esp + 0x304], 0x1f
call fcn.00434d70
mov dword [esp + 0x30], eax
test ebp, ebp
jne 0x429811
fldz
fcomp dword [ebx + 0x2a8]
fnstsw ax
test ah, 5
jp 0x429782
mov esi, dword [esp + 0x2c]
push 0xc8
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov dword [esp + 0x40], ebp
call fcn.00470f00
push eax
mov ecx, ebx
call fcn.00421280
cmp eax, 1
je 0x429763
push 0xc8
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
call fcn.0049d210
push eax
mov ecx, ebx
call fcn.00421280
cmp eax, 1
jne 0x42984b
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call fcn.0042afc0
fld dword [ebx + 0x2a8]
fcompp
fnstsw ax
test ah, 0x41
je 0x429c28
mov ebp, dword [esp + 0x2c]
push 0xc8
lea ecx, [esp + 0x1c]
push ecx
xor esi, esi
mov ecx, ebp
mov dword [esp + 0x20], esi
call fcn.00470f00
push eax
mov ecx, ebx
call fcn.00421280
cmp eax, 1
je 0x4297c8
push 0xc8
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
call fcn.0049d210
push eax
mov ecx, ebx
call fcn.00421280
cmp eax, 1
jne 0x4297cd
mov esi, 1
fldz
fcomp qword [esp + 0xfc]
fnstsw ax
test ah, 5
jp 0x429811
mov eax, dword [esp + 0x310]
mov eax, dword [eax + 0xc8]
mov ecx, dword [esp + 0x18]
shr eax, 9
and eax, 1
push eax
push ecx
push esi
push ebp
mov ecx, ebx
call fcn.004289b0
fcomp qword [esp + 0xfc]
fnstsw ax
test ah, 5
jnp 0x429c28
push 0x633c9c
lea ecx, [esp + 0x60]
call fcn.005edd80
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x2fc], 0x20
call fcn.00471320
mov esi, eax
mov dword [esp + 0x1c], 0
test edi, edi
jne 0x42989e
mov dword [esp + 0x1c], 1
jmp 0x42996f
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x30], ebp
je 0x42986f
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
mov ecx, ebx
call fcn.00428760
test eax, eax
jne 0x429895
test byte [esi + 0x3c], 2
mov ecx, esi
je 0x42987e
call fcn.00470ed0
jmp 0x429883
call fcn.004c1290
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
mov ecx, ebx
call fcn.00428530
lea eax, [esp + 0x14]
jmp 0x429767
test esi, esi
je 0x42996f
mov ebp, 1
cmp word [edi + 0x4c], bp
jbe 0x42994c
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x4298fb
push eax
mov ecx, edi
call fcn.004b0400
test eax, eax
je 0x42996f
mov ecx, eax
call fcn.004b1010
mov ecx, esi
mov ebp, eax
call fcn.004b1010
cmp eax, ebp
jne 0x42996f
push esi
mov ecx, edi
call fcn.004b0500
cmp eax, 1
jne 0x42996f
mov dword [esp + 0x1c], eax
jmp 0x42996f
jle 0x429906
mov eax, dword [esp + 0xd4]
jmp 0x429914
push 0
lea ecx, [esp + 0xd0]
call fcn.005ee750
push eax
mov ecx, esi
call fcn.004b1010
push eax
call fcn.005edae0
add esp, 8
test eax, eax
jne 0x42993a
mov ecx, esi
call fcn.004b1010
push eax
lea ecx, [esp + 0x60]
call fcn.005edbf0
push esi
mov ecx, edi
call fcn.004b0500
cmp eax, ebp
jne 0x42996f
mov dword [esp + 0x1c], ebp
jmp 0x42996f
push esi
mov ecx, edi
call fcn.004b0500
cmp eax, ebp
jne 0x42995e
mov dword [esp + 0x1c], ebp
jmp 0x42996f
mov ecx, esi
call fcn.004b1010
push eax
lea ecx, [esp + 0x60]
call fcn.005edbf0
mov edx, dword [ebx + 0x48]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.004386f0
xor edi, edi
add esp, 8
cmp eax, edi
lea ebp, [edi + 1]
jle 0x42998d
mov dword [esp + 0x30], ebp
fld dword [0x633c98]
mov dword [esp + 0x28], edi
fstp dword [esp + 0x24]
cmp dword [esp + 0x30], edi
jne 0x4299f5
mov esi, dword [esp + 0x34]
push 0xc8
lea ecx, [esp + 0x84]
push ecx
push esi
mov ecx, ebx
call fcn.00421280
cmp eax, ebp
jne 0x4299d5
lea edx, [esp + 0x80]
push edx
mov ecx, ebx
mov dword [esp + 0x34], ebp
call fcn.0042afc0
fstp dword [esp + 0x24]
cmp dword [esp + 0x30], edi
jne 0x4299f5
push 0xc7
lea eax, [esp + 0x38]
push eax
push esi
mov ecx, ebx
call fcn.00421280
cmp eax, ebp
jne 0x4299f5
mov dword [esp + 0x30], ebp
mov eax, dword [ebx + 0xe4]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x34], eax
cmp dword [esp + 0x30], edi
jne 0x429ad6
cmp eax, edi
jle 0x429ad6
lea ebp, [ebx + 0xe8]
mov dword [esp + 0x14], 0
cmp edi, dword [ebp]
jge 0x429a31
mov eax, dword [ebp + 8]
add eax, dword [esp + 0x14]
jmp 0x429a39
push edi
mov ecx, ebp
call fcn.00401670
mov esi, dword [esp + 0x40]
mov ecx, eax
call fcn.00502680
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429a66
test dl, dl
je 0x429a62
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429a66
add ecx, 2
add eax, 2
test dl, dl
jne 0x429a46
xor eax, eax
jmp 0x429a6b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x429ac3
cmp edi, dword [ebp]
jge 0x429a7d
mov eax, dword [ebp + 8]
add eax, dword [esp + 0x14]
jmp 0x429a85
push edi
mov ecx, ebp
call fcn.00401670
mov esi, dword [esp + 0x50]
mov ecx, eax
call fcn.005f7490
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x429ab2
test dl, dl
je 0x429aae
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x429ab2
add ecx, 2
add eax, 2
test dl, dl
jne 0x429a92
xor eax, eax
jmp 0x429ab7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x429db9
inc dword [esp + 0x4c]
add dword [esp + 0x14], 0x94
inc edi
cmp edi, dword [esp + 0x34]
jl 0x429a23
lea ecx, [esp + 0x260]
call fcn.00401040
push eax
lea ecx, [esp + 0x13c]
mov byte [esp + 0x300], 0x22
call fcn.00401550
lea ecx, [esp + 0x260]
mov byte [esp + 0x2fc], 0x20
call fcn.004011b0
mov eax, dword [esp + 0x40]
push eax
lea ecx, [esp + 0x13c]
call fcn.00401280
mov ecx, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x13c]
call fcn.00401290
mov edx, dword [esp + 0x84]
push edx
lea ecx, [esp + 0x13c]
call fcn.004012a0
mov eax, dword [esp + 0xb4]
push eax
lea ecx, [esp + 0x13c]
call fcn.004012b0
mov ecx, dword [esp + 0x50]
push ecx
lea ecx, [esp + 0x13c]
call fcn.004012c0
mov edx, dword [esp + 0x9c]
push edx
lea ecx, [esp + 0x13c]
call fcn.004012d0
mov eax, dword [esp + 0xa8]
push eax
lea ecx, [esp + 0x13c]
call fcn.004012e0
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0x13c]
call fcn.004012f0
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x13c]
call fcn.00401300
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x13c]
call fcn.00401320
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x13c]
call fcn.00401330
fld dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x13c]
fstp dword [esp]
call fcn.00401340
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x13c]
call fcn.00401350
mov eax, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0x13c]
call fcn.00401360
lea ecx, [esp + 0x138]
push ecx
mov ecx, ebx
call fcn.0041f680
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2fc], 0x1f
call fcn.005ed430
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2fc], 0x1e
call fcn.004330a0
lea ecx, [esp + 0x90]
mov byte [esp + 0x2fc], 0x1c
call fcn.004330a0
lea ecx, [esp + 0x68]
mov byte [esp + 0x2fc], 0x1b
call fcn.005ed430
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2fc], 0x1a
call fcn.005ed430
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2fc], 0x19
call fcn.005ed430
lea ecx, [esp + 0x50]
mov byte [esp + 0x2fc], 0x18
call fcn.005ed430
lea ecx, [esp + 0xb4]
mov byte [esp + 0x2fc], 0x17
call fcn.005ed430
lea ecx, [esp + 0x84]
mov byte [esp + 0x2fc], 0x15
call fcn.005ed430
lea ecx, [esp + 0x40]
mov byte [esp + 0x2fc], 8
call fcn.005ed430
lea ecx, [esp + 0xf0]
call fcn.004a9a40
mov ecx, dword [esp + 0xf8]
test ecx, ecx
jne 0x4293b5
lea ecx, [esp + 0x74]
mov byte [esp + 0x2fc], 7
call fcn.005ed430
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0xe4]
mov byte [esp + 0x2fc], 5
call fcn.005ee6d0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x2fc], 4
call fcn.005ee6d0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x2fc], 3
call fcn.005ee6d0
lea ecx, [esp + 0xcc]
mov byte [esp + 0x2fc], 2
call fcn.005ee6d0
lea ecx, [esp + 0x104]
mov byte [esp + 0x2fc], 1
call fcn.005ed430
lea ecx, [esp + 0x110]
mov byte [esp + 0x2fc], 0
call fcn.005ed430
lea ecx, [esp + 0x138]
mov dword [esp + 0x2fc], 0xffffffff
call fcn.004011b0
mov eax, 1
mov ecx, dword [esp + 0x2f4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ec
ret 0x10
lea ecx, [esp + 0x1cc]
call fcn.00401040
push eax
lea ecx, [esp + 0x13c]
mov byte [esp + 0x300], 0x21
call fcn.00401550
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x2fc], 0x20
call fcn.004011b0
mov ecx, dword [esp + 0x40]
push ecx
lea ecx, [esp + 0x13c]
call fcn.00401280
mov edx, dword [esp + 0x68]
push edx
lea ecx, [esp + 0x13c]
call fcn.00401290
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0x13c]
call fcn.004012a0
mov ecx, dword [esp + 0xb4]
push ecx
lea ecx, [esp + 0x13c]
call fcn.004012b0
mov edx, dword [esp + 0x50]
push edx
lea ecx, [esp + 0x13c]
call fcn.004012c0
mov eax, dword [esp + 0x9c]
push eax
lea ecx, [esp + 0x13c]
call fcn.004012d0
mov ecx, dword [esp + 0xa8]
push ecx
lea ecx, [esp + 0x13c]
call fcn.004012e0
mov edx, dword [esp + 0x2c]
push edx
lea ecx, [esp + 0x13c]
call fcn.004012f0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x13c]
call fcn.00401300
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x13c]
call fcn.00401320
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x13c]
call fcn.00401330
fld dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x13c]
fstp dword [esp]
call fcn.00401340
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x13c]
call fcn.00401350
mov ecx, dword [esp + 0x5c]
push ecx
lea ecx, [esp + 0x13c]
call fcn.00401360
lea edx, [esp + 0x138]
push edx
jmp 0x429c10