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

Disassembly:
push 0xffffffffffffffff
push 0x4a3e13
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
mov eax, 0x7fff
push ebx
push ebp
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
xor ebp, ebp
mov eax, 0xffff8001
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], ebp
mov word [esp + 0x18], ax
mov word [esp + 0x1a], ax
mov bl, 1
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], 0x3f800000
mov word [esp + 0x5a], bp
mov dword [esp + 0x7c], ebp
mov byte [esp + 0x58], bl
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0xa0], bl
mov dword [esp + 0xc], ebp
mov eax, dword [ecx + 4]
cmp dword [eax + 0x10], ebp
je 0x412c69
fld dword [ecx + 0x2c]
fild dword [0x4cb9d8]
push esi
lea ecx, [esp + 0x5c]
push edi
push ecx
fdiv st(1)
mov ecx, dword [esp + 0xb8]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
push edx
push ecx
push eax
fstp st(0)
call fcn.0040fff0
mov esi, eax
push ebp
push esi
call fcn.00426530
mov edi, eax
push esi
push edi
call fcn.00425bd0
add esp, 0x20
cmp esi, ebp
mov dword [esp + 0x10], eax
je 0x412961
mov ecx, esi
call fcn.00402140
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
push edi
call fcn.00429370
mov edi, dword [esp + 0x14]
add esp, 4
mov dl, byte [edi + 6]
shr dl, 6
test bl, dl
jne 0x41298d
push ebp
push 2
push 0x4b1624
push 0x4c9ccc
call fcn.00441210
add esp, 0x10
lea ecx, [edi + 0x10]
mov dword [esp + 0x24], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
cmp eax, ebp
je 0x4129a4
mov eax, dword [eax]
jmp 0x4129a6
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x4129b2
mov eax, dword [eax]
jmp 0x4129b4
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ebp
mov byte [esp + 0x3c], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x35], 0
call fcn.0043ff80
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov esi, dword [ecx + 8]
mov dl, byte [esi + 6]
shr dl, 6
test bl, dl
jne 0x4129fd
push ebp
push 2
push 0x4b1624
push 0x4c9ccc
call fcn.00441210
add esp, 0x10
lea edx, [esi + 0x10]
mov dword [esp + 0x40], edx
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov eax, dword [edx]
cmp eax, ebp
je 0x412a14
mov eax, dword [eax]
jmp 0x412a16
xor eax, eax
mov ecx, eax
cmp ecx, ebp
mov dword [esp + 0x48], ecx
je 0x412a24
mov eax, dword [ecx]
jmp 0x412a26
xor eax, eax
cmp ecx, ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ebp
mov byte [esp + 0x50], 0
mov byte [esp + 0x51], 0
je 0x412a42
mov dword [esp + 0x54], ecx
jmp 0x412a46
mov byte [esp + 0x51], bl
mov byte [esp + 0x58], 0
cmp dword [edx], ebp
je 0x412c37
cmp ecx, dword [esp + 0x54]
jne 0x412a65
mov al, byte [esp + 0x58]
test al, al
jne 0x412c37
lea edx, [esp + 0x88]
push edx
call fcn.00435490
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov di, word [esp + 0x1c]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, ebp
je 0x412ac9
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x412ac9
cmp ecx, ebp
jne 0x412aa8
cmp dword [esp + 0x28], eax
jne 0x412aa8
mov al, byte [esp + 0x34]
test al, al
jne 0x412ac9
lea edx, [esp + 0x98]
push edx
call fcn.00435490
cmp word [eax], di
jge 0x412ac9
lea ecx, [esp + 0x24]
call fcn.004403e0
dec dword [esp + 0x18]
jmp 0x412a84
xor ebx, ebx
mov byte [esp + 0x5c], bl
lea ecx, [esp + 0x24]
mov eax, dword [esp + 0x5c]
inc ebx
push eax
call fcn.00440430
mov ecx, dword [esp + 0x48]
mov esi, eax
push ecx
push esi
call fcn.004121d0
add esp, 8
test al, al
jne 0x412b5c
movsx eax, word [esp + 0x18]
movsx edx, bx
sub eax, edx
test eax, eax
jle 0x412c14
cmp bx, 0x81
jge 0x412c14
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
cmp eax, ebp
je 0x412c14
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x412c14
cmp ecx, ebp
jne 0x412b3f
cmp dword [esp + 0x28], eax
jne 0x412b3f
mov al, byte [esp + 0x34]
test al, al
jne 0x412c14
lea edx, [esp + 0x90]
mov ecx, esi
push edx
call fcn.00435490
cmp word [eax], di
jne 0x412c14
jmp 0x412acb
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x14]
cmp di, word [esi + 0x48]
jl 0x412b8f
push 0xf0
push 0x4b1654
push 0x4b1640
push ebp
push 0x4b1634
push 0x4c9d08
call fcn.00441210
add esp, 0x18
mov edx, dword [esi + 0x44]
movsx edi, di
lea ebx, [edi*4]
mov ecx, ebx
add ecx, edx
call fcn.00438ac0
test al, al
je 0x412c14
mov al, byte [0x4c9ca0]
test al, al
jne 0x412bdd
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x48]
add ecx, 4
mov esi, dword [eax]
add esi, edi
call fcn.0043ff80
mov dl, byte [esi]
push eax
push edx
call fcn.00412c80
add esp, 8
test ax, ax
jne 0x412c14
mov esi, dword [esp + 0xb0]
mov ax, word [esp + 0x14]
cmp ax, word [esi + 0x48]
jl 0x412c0a
push 0xf0
push 0x4b1654
push 0x4b1640
push ebp
push 0x4b1634
push 0x4c9d08
call fcn.00441210
add esp, 0x18
mov ecx, dword [esi + 0x44]
add ecx, ebx
call fcn.00438ce0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x40]
inc eax
mov dword [esp + 0x14], eax
call fcn.004403e0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
jmp 0x412a4b
cmp edi, ebp
je 0x412c4b
mov ecx, edi
call fcn.00402140
push edi
call sub.MFC42.DLL_operatordelete
add esp, 4
cmp word [esp + 0x62], bp
pop edi
mov byte [esp + 0xa4], 0
pop esi
jle 0x412c69
mov ecx, dword [esp + 0x7c]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x98]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x9c
ret