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

Disassembly:
mov eax, 0x10278
call fcn.00414f00
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x6c], ecx
push 0xfa00
call sub.MFC42.DLL_operatornew
mov ebx, dword [esp + 0x10290]
add esp, 4
lea ecx, [esp + 0x7c]
mov ebp, eax
mov eax, dword [ebx]
push 0xa
xor edi, edi
push ecx
mov ecx, ebx
mov word [esp + 0x6a], di
call dword [eax + 0x3c]
mov esi, dword [esp + 0x10290]
cmp esi, 0x404
jne 0x403387
mov edx, dword [ebx]
lea eax, [esp + 0x60]
push 0xc
push eax
mov ecx, ebx
call dword [edx + 0x3c]
lea ecx, [esp + 0x60]
push ecx
call fcn.004031b0
add esp, 4
mov eax, dword [esp + 0x7e]
mov edx, dword [ebx]
push edi
push eax
mov ecx, ebx
call dword [edx + 0x30]
cmp esi, 0x404
jne 0x4033aa
movsx eax, word [esp + 0x64]
mov edx, dword [ebx]
push eax
push ebp
mov ecx, ebx
call dword [edx + 0x3c]
cmp word [esp + 0x7c], di
mov dword [esp + 0x5c], edi
jle 0x403a0b
jmp 0x4033c4
mov esi, dword [esp + 0x10290]
xor edi, edi
mov edx, dword [ebx]
cmp esi, 0x401
jne 0x403448
lea eax, [esp + 0x94]
push 0x1c
push eax
mov ecx, ebx
call dword [edx + 0x3c]
mov eax, dword [esp + 0x98]
mov cx, word [esp + 0x94]
mov dx, word [esp + 0x96]
mov dword [esp + 0x40], eax
mov ax, word [esp + 0xaa]
mov word [esp + 0x3c], cx
mov ecx, dword [esp + 0x9c]
mov word [esp + 0x3e], dx
mov dx, word [esp + 0xa0]
mov word [esp + 0x56], ax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x44], ecx
mov word [esp + 0x48], dx
mov dword [esp + 0x4a], edi
mov dword [esp + 0x4e], 0xbf800000
mov dword [esp + 0x52], 0xbf800000
mov dword [esp + 0x58], eax
jmp 0x403458
lea eax, [esp + 0x3c]
push 0x20
push eax
mov ecx, ebx
call dword [edx + 0x3c]
mov eax, dword [esp + 0x58]
cmp eax, 0xfa00
jg 0x403a0b
cmp esi, 0x403
jne 0x403498
mov edx, dword [ebx]
lea eax, [esp + 0x60]
push 0xc
push eax
mov ecx, ebx
call dword [edx + 0x3c]
movsx eax, word [esp + 0x64]
mov edx, dword [ebx]
push eax
push ebp
mov ecx, ebx
call dword [edx + 0x3c]
lea ecx, [esp + 0x60]
push ecx
call fcn.004031b0
mov eax, dword [esp + 0x5c]
add esp, 4
cmp word [esp + 0x3c], 2
jne 0x4034c0
mov edx, dword [ebx]
lea eax, [esp + 0xb4]
push 4
push eax
mov ecx, ebx
call dword [edx + 0x3c]
movsx eax, word [esp + 0x56]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x58], eax
mov edx, dword [ebx]
push eax
push ebp
mov ecx, ebx
call dword [edx + 0x3c]
cmp esi, 0x403
je 0x4034d9
cmp esi, 0x404
jne 0x4034ec
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x60]
push eax
push ecx
push ebp
call fcn.00403270
add esp, 0xc
cmp word [esp + 0x3c], 2
mov dword [esp + 0x14], edi
jne 0x4034ff
mov esi, 2
jmp 0x40351e
lea edx, [esp + 0x2f98]
push 0xc
lea eax, [esp + 0x18]
push edx
push eax
push ebp
call fcn.00403230
mov edi, 1
add esp, 0x10
mov esi, edi
push 0x38
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x40353c
push esi
push 3
mov ecx, eax
call fcn.00402aa0
mov dword [esp + 0x28], eax
jmp 0x403544
mov dword [esp + 0x28], 0
movsx ecx, word [esp + 0x3e]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x38], 0
mov dword [esi + 0x28], ecx
mov edx, dword [esp + 0x82]
mov dword [esi + 4], edx
mov eax, dword [esp + 0x52]
mov dword [esi + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esi + 8], ecx
mov edx, dword [esp + 0x44]
mov dword [esi + 0xc], edx
mov ax, word [esp + 0x48]
mov word [esi + 0x10], ax
fild dword [esp + 0x4a]
fmul qword [0x416a40]
fstp dword [esi + 0x14]
cmp word [esp + 0x56], 0
jle 0x4039e6
cmp word [esp + 0x3c], 2
jne 0x4035b5
lea ecx, [esp + 0xb8]
push 0xc
lea edx, [esp + 0x18]
push ecx
push edx
jmp 0x403959
lea eax, [esp + 0x13]
push 1
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
call fcn.00403230
mov al, byte [esp + 0x23]
add esp, 0x10
cmp al, 0x4c
je 0x40394a
cmp al, 0x6c
je 0x40394a
cmp al, 0x41
je 0x40372b
cmp al, 0x61
je 0x40372b
cmp al, 0x43
je 0x4035fa
cmp al, 0x63
jne 0x403a1d
lea edx, [esp + 0x13]
push 1
lea eax, [esp + 0x18]
push edx
push eax
push ebp
call fcn.00403230
lea ecx, [esp + 0x3c]
push 0xc
lea edx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.00403230
lea esi, [edi + edi*2]
lea eax, [esp + 0x4c]
shl esi, 2
push 2
push eax
lea ebx, [esp + esi + 0x2fb4]
push ebx
call fcn.00406db0
fstp dword [esp + 0x44]
fld dword [esp + esi + 0x2fbc]
fsub dword [esp + 0x5c]
fld dword [ebx]
fsub dword [esp + 0x58]
mov al, byte [esp + 0x3f]
add esp, 0x2c
cmp al, 0x53
fpatan
fstp dword [esp + 0x1c]
jne 0x40366a
fld dword [esp + 0x1c]
fsub dword [0x416a38]
jmp 0x403678
cmp al, 0x4e
jne 0x40367c
fld dword [esp + 0x1c]
fadd dword [0x416a38]
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xb8]
push 0
push ecx
lea edx, [esp + 0x24]
push 0x3c23d70a
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.00403010
add esp, 0x18
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x1028c]
mov ecx, dword [esp + 0x18]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x4039ce
lea ebx, [esp + 0xb8]
lea edx, [edi + edi*2]
inc edi
cmp edi, 0x1194
lea ecx, [esp + edx*4 + 0x2f98]
mov edx, ebx
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
je 0x40370b
mov ecx, dword [esp + 0x18]
dec ecx
cmp eax, ecx
jne 0x4039b3
movsx edx, word [esp + 0x56]
movsx ecx, word [esp + 0x38]
dec edx
cmp ecx, edx
jne 0x4039b3
push 0x10
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x40396f
mov ecx, eax
call fcn.00402940
mov esi, eax
jmp 0x403971
lea edx, [esp + 0x13]
push 1
lea eax, [esp + 0x18]
push edx
push eax
push ebp
call fcn.00403230
lea ecx, [esp + 0x80]
push 0xc
lea edx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.00403230
lea eax, [esp + 0x4c]
push 0xc
lea ecx, [esp + 0x38]
push eax
push ecx
push ebp
call fcn.00403230
lea edx, [esp + 0xe0]
push 4
lea eax, [esp + 0x48]
push edx
push eax
push ebp
call fcn.00403230
add esp, 0x40
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x70]
push 3
push ecx
push edx
call fcn.00406db0
fstp dword [esp + 0x24]
lea eax, [edi + edi*2]
mov dl, byte [esp + 0x1f]
shl eax, 2
add esp, 0xc
xor esi, esi
fld dword [esp + eax + 0x2f8c]
mov ecx, 1
fstp dword [esp + 0x88]
fld dword [esp + eax + 0x2f90]
fstp dword [esp + 0x8c]
fld dword [esp + eax + 0x2f94]
fchs
fstp dword [esp + 0x90]
fld dword [esp + 0x78]
fchs
fstp dword [esp + 0x78]
fld dword [esp + 0x34]
fchs
fstp dword [esp + 0x34]
xor eax, eax
cmp dl, 0x41
je 0x403809
cmp dl, 0x42
je 0x403809
cmp dl, 0x43
je 0x4037fb
cmp dl, 0x44
jne 0x403815
mov esi, 2
mov eax, 1
mov ecx, esi
jmp 0x403815
mov esi, 1
mov eax, 2
xor ecx, ecx
fld dword [esp + ecx*4 + 0x88]
fsub dword [esp + ecx*4 + 0x2c]
fld dword [esp + eax*4 + 0x88]
fsub dword [esp + eax*4 + 0x2c]
lea ebx, [esp + ecx*4 + 0x2c]
mov dword [esp + 0x24], ebx
lea ebx, [esp + eax*4 + 0x2c]
fpatan
fst dword [esp + 0x1c]
fld dword [esp + ecx*4 + 0x70]
mov ecx, dword [esp + 0x24]
fsub dword [ecx]
fld dword [esp + eax*4 + 0x70]
fsub dword [ebx]
fpatan
fst dword [esp + 0x20]
fld st(1)
fcomp qword [0x416a30]
fnstsw ax
test ah, 1
je 0x403883
fxch st(1)
fadd dword [0x416a38]
fxch st(1)
fld st(1)
fcomp qword [0x416a30]
fnstsw ax
test ah, 1
jne 0x403862
fxch st(1)
fst dword [esp + 0x1c]
fxch st(1)
fcom qword [0x416a30]
fnstsw ax
test ah, 1
je 0x4038a7
fadd dword [0x416a38]
fcom qword [0x416a30]
fnstsw ax
test ah, 1
jne 0x403890
fst dword [esp + 0x20]
cmp dl, 0x53
je 0x4038b6
cmp dl, 0x41
je 0x4038b6
cmp dl, 0x43
jne 0x4038cf
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x4038cf
fstp st(0)
fadd dword [0x416a38]
fstp dword [esp + 0x1c]
jmp 0x4038ff
cmp dl, 0x4e
je 0x4038de
cmp dl, 0x42
je 0x4038de
cmp dl, 0x44
jne 0x4038fb
fxch st(1)
fcomp st(1)
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x4038ff
fld dword [esp + 0x20]
fadd dword [0x416a38]
fstp dword [esp + 0x20]
jmp 0x4038ff
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xb8]
push esi
push edx
lea eax, [esp + 0x24]
push 0x3c23d70a
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.00403010
mov ecx, eax
add esp, 0x18
test ecx, ecx
mov dword [esp + 0x18], ecx
jle 0x4036a6
lea eax, [esp + 0xc0]
fld dword [eax]
fchs
fstp dword [eax]
add eax, 0xc
dec ecx
jne 0x403939
jmp 0x4036a6
lea eax, [esp + 0xb8]
push 0xc
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
call fcn.00403230
add esp, 0x10
mov dword [esp + 0x18], 1
jmp 0x4036ad
xor esi, esi
lea edx, [esp + 0x2f98]
push edi
push edx
mov ecx, esi
call fcn.00402970
mov eax, ebx
push esi
mov ecx, dword [eax]
mov dword [esp + 0x2f9c], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov dword [esp + 0x2fa0], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x2fa4], eax
call fcn.00402be0
mov eax, dword [esp + 0x24]
mov edi, 1
mov ecx, dword [esp + 0x18]
inc eax
add ebx, 0xc
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x4036c6
mov ebx, dword [esp + 0x1028c]
mov eax, dword [esp + 0x38]
inc eax
cmp ax, word [esp + 0x56]
mov dword [esp + 0x38], eax
jl 0x403599
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esp + 0x6c]
push esi
call fcn.00402e80
mov eax, dword [esp + 0x5c]
inc eax
cmp ax, word [esp + 0x7c]
mov dword [esp + 0x5c], eax
jl 0x4033bb
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10278
ret 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10278
ret 8