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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a523e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x104
push ebx
push esi
lea eax, [esp + 0xa4]
push edi
mov esi, ecx
push eax
mov dword [esp + 0x78], esi
call fcn.0043d1f0
mov eax, 0x7fff
xor edi, edi
mov word [esp + 0x10], ax
mov word [esp + 0x12], ax
mov eax, 0xffff8001
mov dword [esp + 0x118], edi
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
lea ecx, [esi + 0x10]
mov byte [esp + 0x118], 1
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040f9a0
lea ecx, [esp + 0xe0]
call fcn.0042e160
fild dword [0x4cb9d8]
movsx eax, word [esp + 0xa8]
fdiv dword [ebp + 0xc]
movsx edx, word [esp + 0xac]
sub edx, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0xa0], eax
mov word [esp + 0x82], di
mov dword [esp + 0xa4], edi
mov byte [esp + 0x80], 1
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
fild dword [esp + 0xc]
fmul qword [0x4a8220]
fiadd dword [esp + 0x50]
fstp dword [esp + 0x98]
fstp dword [esp + 0x9c]
mov cl, byte [esi + 6]
mov byte [esp + 0x118], 2
shr cl, 6
test cl, 1
jne 0x43dc07
push 0x4ba764
push 2
push 0x4ba748
push 0x4cba24
call fcn.00441210
add esp, 0x10
mov dl, byte [esi + 6]
shr dl, 5
test dl, 1
je 0x43dc2b
push 0x4ba730
push 2
push 0x4ba748
push 0x4cba24
call fcn.00441210
add esp, 0x10
mov al, byte [0x4cb9e8]
test al, al
je 0x43df69
mov ecx, dword [esp + 0x28]
call fcn.0043ff80
mov ebx, eax
lea eax, [ebx + ebx*2]
shl eax, 2
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
cmp eax, edi
je 0x43dc5d
dec ebx
mov edi, eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x30]
xor ebx, ebx
test eax, eax
je 0x43dc6d
mov dword [esp + 0x3c], eax
jmp 0x43dc72
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
mov ecx, dword [esp + 0x28]
cmp dword [ecx], 0
je 0x43ddcb
cmp eax, dword [esp + 0x3c]
jne 0x43dc96
mov cl, byte [esp + 0x40]
test cl, cl
jne 0x43ddcb
mov esi, eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00435490
mov ecx, dword [eax]
fld dword [esp + 0x98]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x12]
fchs
fstp dword [esp + 0x54]
neg eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edx
fild dword [esp + 0xc]
mov edx, dword [esp + 0x54]
fstp dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
push ecx
push edx
mov ecx, esi
call fcn.00435890
lea ecx, [esp + 0x10]
call fcn.00402110
test al, al
jne 0x43dcfb
mov eax, dword [esp + 0x16]
mov ecx, dword [esp + 0x12]
sub eax, ecx
jmp 0x43dcfd
xor eax, eax
fild dword [0x4cb9d8]
movsx eax, ax
fmul dword [0x4a8314]
lea eax, [eax + eax*2]
mov dword [esp + 0xc], eax
fidiv dword [esp + 0xc]
fstp dword [esp + 0x24]
fld dword [esp + 0x9c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
jne 0x43dd3a
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x24], ecx
jmp 0x43dd5c
fld dword [esp + 0x9c]
fmul dword [0x4a8310]
fld dword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43dd5a
fstp dword [esp + 0x24]
jmp 0x43dd5c
fstp st(0)
mov edx, dword [esp + 0x24]
mov ecx, esi
push edx
call fcn.00435920
fild dword [0x4cb9c8]
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
push eax
push ecx
mov ecx, esi
call fcn.00435890
lea edx, [esp + 0x6c]
mov ecx, esi
push edx
call fcn.00435490
movsx edx, word [eax]
movsx ecx, bx
inc ebx
lea ecx, [ecx + ecx*2]
lea ecx, [edi + ecx*4]
mov dword [ecx], edx
mov edx, dword [esp + 0x24]
movsx eax, word [esp + 0x12]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
lea ecx, [esp + 0x28]
call fcn.004403e0
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x74]
jmp 0x43dc77
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push eax
push 1
push edi
push ebx
push 0
push 0
push 0
push 0
push ecx
push edx
lea ecx, [esp + 0xe0]
call fcn.0042f200
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x11c], 3
call fcn.0042f350
cmp word [esp + 0xba], 0
mov byte [esp + 0x118], 2
jle 0x43de2f
mov eax, dword [esp + 0xdc]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push edi
call sub.MFC42.DLL_operatordelete
lea ecx, [esi + 0x14]
add esp, 4
mov dword [esp + 0x28], ecx
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov eax, dword [ecx]
test eax, eax
je 0x43de4f
mov eax, dword [eax]
jmp 0x43de51
xor eax, eax
mov esi, eax
test esi, esi
mov dword [esp + 0x30], esi
je 0x43de5f
mov eax, dword [esi]
jmp 0x43de61
xor eax, eax
test esi, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0
je 0x43de81
mov dword [esp + 0x3c], esi
jmp 0x43de86
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
cmp dword [ecx], 0
je 0x43e937
cmp esi, dword [esp + 0x3c]
jne 0x43dea6
mov al, byte [esp + 0x40]
test al, al
jne 0x43e937
lea eax, [esp + 0x5c]
mov ecx, esi
push eax
call fcn.00435490
mov ecx, dword [eax]
fld dword [esp + 0x98]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x12]
fchs
fstp dword [esp + 0x54]
neg eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edx
fild dword [esp + 0xc]
mov edx, dword [esp + 0x54]
fstp dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
push ecx
push edx
mov ecx, esi
call fcn.00435890
lea ecx, [esp + 0x10]
call fcn.00402110
test al, al
jne 0x43df09
mov eax, dword [esp + 0x16]
mov ecx, dword [esp + 0x12]
sub eax, ecx
jmp 0x43df0b
xor eax, eax
fild dword [0x4cb9d8]
movsx eax, ax
fmul dword [0x4a8314]
push ecx
mov ecx, esi
lea eax, [eax + eax*2]
mov dword [esp + 0x10], eax
fidiv dword [esp + 0x10]
fstp dword [esp]
call fcn.00435920
fild dword [0x4cb9c8]
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x44]
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
push ecx
push edx
mov ecx, esi
call fcn.00435890
lea ecx, [esp + 0x28]
call fcn.004403e0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x43de8b
fld qword [0x4cb9b8]
fcomp qword [0x4a8228]
fnstsw ax
test ah, 1
je 0x43e19b
mov esi, dword [esp + 0x30]
test esi, esi
je 0x43df8e
mov dword [esp + 0x3c], esi
jmp 0x43df93
mov byte [esp + 0x39], 1
mov edi, dword [ebp + 8]
mov byte [esp + 0x40], 0
mov eax, dword [esp + 0x28]
cmp dword [eax], 0
je 0x43e06e
cmp esi, dword [esp + 0x3c]
jne 0x43dfba
mov al, byte [esp + 0x40]
test al, al
jne 0x43e06e
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
call fcn.00435490
mov edx, dword [eax]
sub esp, 8
mov dword [esp + 0x18], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
movsx eax, word [esp + 0x18]
movsx ecx, word [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
lea ecx, [edi + 0x24]
fild dword [esp + 0x14]
fmul qword [0x4a8220]
fiadd dword [esp + 0x28]
fld dword [esp + 0xa0]
fchs
fstp dword [esp + 0x5c]
fstp qword [esp]
call fcn.00437ae0
mov eax, dword [esp + 0x54]
mov ecx, esi
fchs
fstp dword [esp + 0x58]
mov edx, dword [esp + 0x58]
push edx
push eax
call fcn.00435890
fld dword [esp + 0x9c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00435920
fild dword [0x4cb9c8]
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x44]
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
push ecx
push edx
mov ecx, esi
call fcn.00435890
lea ecx, [esp + 0x28]
call fcn.004403e0
mov esi, dword [esp + 0x30]
jmp 0x43df9b
mov eax, dword [esp + 0x74]
lea ecx, [eax + 0x14]
mov dword [esp + 0x28], ecx
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov eax, dword [ecx]
test eax, eax
je 0x43e089
mov eax, dword [eax]
jmp 0x43e08b
xor eax, eax
mov esi, eax
test esi, esi
mov dword [esp + 0x30], esi
je 0x43e099
mov eax, dword [esi]
jmp 0x43e09b
xor eax, eax
test esi, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0
je 0x43e0bb
mov dword [esp + 0x3c], esi
jmp 0x43e0c0
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
cmp dword [ecx], 0
je 0x43e937
cmp esi, dword [esp + 0x3c]
jne 0x43e0e0
mov al, byte [esp + 0x40]
test al, al
jne 0x43e937
lea eax, [esp + 0x5c]
mov ecx, esi
push eax
call fcn.00435490
mov ecx, dword [eax]
sub esp, 8
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
movsx ecx, word [esp + 0x1c]
sub ecx, eax
mov edx, dword [ebp + 8]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
lea ecx, [edx + 0x24]
fmul qword [0x4a8220]
fiadd dword [esp + 0x28]
fld dword [esp + 0xa0]
fchs
fstp dword [esp + 0x5c]
fstp qword [esp]
call fcn.00437ae0
mov ecx, dword [esp + 0x54]
fchs
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
push eax
push ecx
mov ecx, esi
call fcn.00435890
fld dword [esp + 0x9c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00435920
fild dword [0x4cb9c8]
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
mov ecx, esi
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x48]
push edx
push eax
call fcn.00435890
lea ecx, [esp + 0x28]
call fcn.004403e0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x43e0c5
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], 1
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x28]
call fcn.0043ff80
mov esi, eax
lea edx, [esi + esi*2]
shl edx, 2
push edx
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x43e1d1
dec esi
mov dword [esp + 0xc], esi
mov esi, eax
jmp 0x43e1d3
xor esi, esi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x24], esi
test ecx, ecx
mov dword [esp + 0x1c], 0
je 0x43e1ed
mov dword [esp + 0x3c], ecx
jmp 0x43e1f2
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
mov eax, dword [esp + 0x28]
cmp dword [eax], 0
je 0x43e446
cmp ecx, dword [esp + 0x3c]
jne 0x43e216
mov al, byte [esp + 0x40]
test al, al
jne 0x43e446
lea edx, [esp + 0x6c]
push edx
call fcn.00435490
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 4]
mov dx, word [esp + 0x10]
mov di, word [esp + 0x12]
cmp dx, cx
mov dword [esp + 0x14], ecx
jg 0x43e24b
mov eax, dword [esp + 0x16]
cmp ax, di
jl 0x43e24b
sub eax, dword [esp + 0x12]
jmp 0x43e24d
xor eax, eax
movsx eax, ax
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fld dword [ebp + 0xc]
fmul qword [0x4cb9a8]
fcompp
fnstsw ax
test ah, 1
je 0x43e407
movsx eax, dx
movsx ecx, cx
sub ecx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 8]
fild dword [esp + 0xc]
movsx edx, di
fmul qword [0x4a8220]
mov dword [esp + 0xc], edx
lea ecx, [eax + 0x24]
fiadd dword [esp + 0x20]
fstp qword [esp + 0x5c]
fild dword [esp + 0xc]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
push ebx
push edi
fstp dword [esp + 0x14]
call fcn.00437ae0
mov cx, word [esp + 0x10]
cmp cx, word [esp + 0x14]
mov cx, word [esp + 0x12]
fsubr dword [esp + 0xc]
jg 0x43e2d8
mov eax, dword [esp + 0x16]
cmp ax, cx
jl 0x43e2d8
sub eax, dword [esp + 0x12]
jmp 0x43e2da
xor eax, eax
movsx edx, ax
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fadd st(1)
fsub dword [ebp + 0xc]
fsub dword [0x4a8248]
fst dword [esp + 0x20]
fadd dword [ebp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
fcomp dword [0x4a8234]
fnstsw ax
test ah, 1
je 0x43e316
fld dword [esp + 0x20]
fchs
fstp dword [esp + 0x20]
fcom dword [0x4a8234]
fnstsw ax
test ah, 1
je 0x43e325
fchs
fld dword [ebp + 0xc]
fmul qword [0x4cb9b8]
fcompp
fnstsw ax
test ah, 0x41
movsx eax, word [esp + 0x1c]
jne 0x43e3ce
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*2]
sub esp, 8
lea esi, [edx + eax*4]
movsx eax, cx
mov dword [esi + 4], eax
movsx ecx, word [esp + 0x1a]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xe8]
fild dword [esp + 0x14]
fstp qword [esp]
push ebx
push edi
call fcn.0042e190
fld dword [esp + 0x20]
fld dword [ebp + 0xc]
fmul qword [0x4cb9b8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43e3c5
mov dx, word [esp + 0x10]
cmp dx, word [esp + 0x14]
jg 0x43e3a4
mov eax, dword [esp + 0x16]
cmp ax, word [esp + 0x12]
jl 0x43e3a4
sub eax, dword [esp + 0x12]
jmp 0x43e3a6
xor eax, eax
movsx eax, ax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
fild dword [esp + 0xc]
inc eax
mov dword [esp + 0x68], eax
fsub dword [0x4a8248]
fstp dword [esi + 8]
jmp 0x43e420
mov dword [esi + 8], 0
jmp 0x43e420
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*2]
fld dword [esp + 0x20]
fld dword [ebp + 0xc]
lea esi, [edx + ecx*4]
mov dword [esi + 4], 0x80000001
fmul qword [0x4cb9b8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43e3c5
mov eax, dword [esp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
jmp 0x43e420
movsx eax, word [esp + 0x1c]
lea ecx, [eax + eax*2]
lea esi, [esi + ecx*4]
mov dword [esi + 8], 0
mov dword [esi + 4], 0x80000001
movsx edx, word [esp + 0x10]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
inc eax
mov dword [esi], edx
mov dword [esp + 0x1c], eax
call fcn.004403e0
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
jmp 0x43e1f7
cmp dword [esp + 0xe0], 1
setle bl
test bl, bl
mov byte [esp + 0xc], bl
jne 0x43e489
lea ecx, [esp + 0xe0]
call fcn.0042e1d0
fstp qword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
lea ecx, [esp + 0xe8]
call fcn.0042e210
fstp qword [esp + 0x54]
mov ecx, dword [esp + 0x30]
jmp 0x43e4a9
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
xor edi, edi
test ecx, ecx
je 0x43e4b5
mov dword [esp + 0x3c], ecx
jmp 0x43e4ba
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
mov edx, dword [esp + 0x28]
cmp dword [edx], 0
je 0x43e58f
cmp ecx, dword [esp + 0x3c]
jne 0x43e4de
mov al, byte [esp + 0x40]
test al, al
jne 0x43e58f
lea eax, [esp + 0x5c]
push eax
call fcn.00435490
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
movsx eax, di
mov dword [esp + 0x14], edx
lea eax, [eax + eax*2]
lea ecx, [esi + eax*4]
mov eax, dword [esi + eax*4 + 4]
cmp eax, 0x80000001
jne 0x43e561
fld dword [ecx + 8]
fcomp dword [0x4a8234]
fnstsw ax
test ah, 0x40
jne 0x43e561
test bl, bl
jne 0x43e561
movsx edx, word [esp + 0x16]
movsx eax, word [esp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
movsx edx, word [esp + 0x14]
fild dword [esp + 0x1c]
sub edx, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x4a8220]
fiadd dword [esp + 0x20]
fxch st(1)
fxch st(1)
fmul qword [esp + 0x44]
fadd qword [esp + 0x54]
fst dword [esp + 0x1c]
fsubp st(1)
fstp dword [ecx + 8]
fld dword [ecx + 8]
fcomp dword [0x4a8234]
fnstsw ax
test ah, 0x40
jne 0x43e57c
fld dword [esp + 0x50]
fadd dword [ecx + 8]
fstp dword [esp + 0x50]
lea ecx, [esp + 0x28]
inc edi
call fcn.004403e0
mov ecx, dword [esp + 0x30]
jmp 0x43e4bf
fild dword [esp + 0x68]
xor ebx, ebx
test ecx, ecx
fdivr dword [esp + 0x50]
mov dword [esp + 0x1c], ebx
fstp dword [esp + 0x50]
je 0x43e5ab
mov dword [esp + 0x3c], ecx
jmp 0x43e5b0
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
mov eax, dword [esp + 0x28]
cmp dword [eax], 0
je 0x43e6fb
cmp ecx, dword [esp + 0x3c]
jne 0x43e5d4
mov al, byte [esp + 0x40]
test al, al
jne 0x43e6fb
mov edi, ecx
lea ecx, [esp + 0xb0]
push ecx
mov ecx, edi
call fcn.00435490
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
movsx eax, word [esp + 0x10]
movsx ecx, word [esp + 0x14]
mov dword [esp + 0x20], eax
sub ecx, eax
movsx eax, bx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x24]
fmul qword [0x4a8220]
lea esi, [eax + edx*4]
mov eax, dword [eax + edx*4 + 4]
fiadd dword [esp + 0x20]
cmp eax, 0x80000001
mov dword [esp + 0x1c], eax
je 0x43e638
fstp st(0)
fild dword [esp + 0x1c]
jmp 0x43e65b
mov al, byte [esp + 0xc]
test al, al
je 0x43e653
mov ecx, dword [ebp + 8]
sub esp, 8
add ecx, 0x24
fstp qword [esp]
call fcn.00437ae0
jmp 0x43e65b
fmul qword [esp + 0x44]
fadd qword [esp + 0x54]
fld dword [esi + 8]
fcomp dword [0x4a8234]
fnstsw ax
test ah, 0x40
je 0x43e672
mov edx, dword [esp + 0x50]
mov dword [esi + 8], edx
fild dword [0x4cb9d8]
fdiv dword [esi + 8]
fstp dword [esi + 8]
fld dword [esp + 0x98]
fchs
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
fchs
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
push eax
push ecx
mov ecx, edi
call fcn.00435890
fld dword [esp + 0x9c]
fstp dword [esp + 0x6c]
fld dword [esi + 8]
mov eax, dword [esp + 0x6c]
mov ecx, edi
fstp dword [esp + 0x70]
mov edx, dword [esp + 0x70]
push edx
push eax
call fcn.004359b0
fild dword [0x4cb9c8]
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x5c]
fstp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
push ecx
push edx
mov ecx, edi
call fcn.00435890
lea ecx, [esp + 0x28]
inc ebx
call fcn.004403e0
mov ecx, dword [esp + 0x30]
jmp 0x43e5b5
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], ebx
lea ecx, [eax + 0x14]
mov dword [esp + 0x28], ecx
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov eax, dword [ecx]
test eax, eax
je 0x43e71a
mov eax, dword [eax]
jmp 0x43e71c
xor eax, eax
mov esi, eax
test esi, esi
mov dword [esp + 0x30], esi
je 0x43e72a
mov eax, dword [esi]
jmp 0x43e72c
xor eax, eax
xor edi, edi
mov dword [esp + 0x34], eax
cmp esi, edi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0
je 0x43e74a
mov dword [esp + 0x3c], esi
jmp 0x43e74f
mov byte [esp + 0x39], 1
mov byte [esp + 0x40], 0
cmp dword [ecx], 0
je 0x43e8a1
cmp esi, dword [esp + 0x3c]
jne 0x43e76f
mov al, byte [esp + 0x40]
test al, al
jne 0x43e8a1
lea eax, [esp + 0xb0]
mov ecx, esi
push eax
call fcn.00435490
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
movsx ecx, word [esp + 0x14]
sub ecx, eax
movsx eax, bx
mov dword [esp + 0x50], ecx
fild dword [esp + 0x50]
lea ecx, [eax - 1]
movsx eax, di
fmul qword [0x4a8220]
cmp eax, ecx
fiadd dword [esp + 0x20]
jge 0x43e7d6
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*2 + 3]
fild dword [edx + eax*4]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x43e7d6
inc edi
movsx eax, di
cmp eax, ecx
jl 0x43e7be
mov edx, dword [esp + 0x24]
movsx eax, di
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 4]
cmp eax, 0x80000001
mov dword [esp + 0x50], eax
lea ebx, [edx + ecx*4]
je 0x43e7fa
fstp st(0)
fild dword [esp + 0x50]
jmp 0x43e81d
mov al, byte [esp + 0xc]
test al, al
je 0x43e815
mov eax, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
lea ecx, [eax + 0x24]
call fcn.00437ae0
jmp 0x43e81d
fmul qword [esp + 0x44]
fadd qword [esp + 0x54]
fld dword [esp + 0x98]
fchs
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
fchs
fstp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
push ecx
push edx
mov ecx, esi
call fcn.00435890
fld dword [esp + 0x9c]
fstp dword [esp + 0x6c]
fld dword [ebx + 8]
mov ecx, dword [esp + 0x6c]
fstp dword [esp + 0x70]
mov eax, dword [esp + 0x70]
push eax
push ecx
mov ecx, esi
call fcn.004359b0
fild dword [0x4cb9c8]
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x78]
mov ecx, esi
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
push edx
push eax
call fcn.00435890
lea ecx, [esp + 0x28]
call fcn.004403e0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
jmp 0x43e754
mov eax, dword [esp + 0xe0]
test eax, eax
jg 0x43e8b3
cmp dword [esp + 0x68], 1
jle 0x43e92a
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x54]
push ebx
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xb4]
push ecx
push edx
push eax
lea ecx, [esp + 0xe0]
call fcn.0042f200
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x11c], 4
call fcn.0042f350
cmp word [esp + 0xba], 0
mov byte [esp + 0x118], 2
jle 0x43e92a
mov ecx, dword [esp + 0xdc]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov edx, dword [esp + 0x24]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x43e94b
lea eax, [esp + 0x80]
push eax
call fcn.0042f350
mov eax, dword [esp + 0x74]
mov byte [esp + 0x118], 1
or byte [eax + 6], 0x20
cmp word [esp + 0x82], 0
jle 0x43e976
mov ecx, dword [esp + 0xa4]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x110]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc