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

Disassembly:
push 0xffffffffffffffff
push 0x4f0682
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x541770]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x78]
xor eax, eax
xor ebx, ebx
push 0x50fb40
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], ax
call fcn.004c6f29
add esp, 4
push eax
push 0x50fb40
lea ecx, [esp + 0x24]
call fcn.0040518b
mov dword [esp + 0x64], ebx
push ebp
lea edi, [esp + 0x20]
call fcn.00460500
inc eax
movzx esi, ax
add esp, 4
mov dword [esp + 0x78], esi
mov dword [esp + 0x64], 0xffffffff
mov edi, 8
cmp dword [esp + 0x34], edi
jb 0x46f995
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004c6252
add esp, 4
mov eax, 3
xor edx, edx
cmp ax, si
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], dx
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], 0x1e
lea eax, [esp + 0x78]
jb 0x46f9ca
lea eax, [esp + 0x14]
movzx eax, word [eax]
mov ecx, 0x1e
mov dword [esp + 0x78], eax
cmp cx, ax
lea eax, [esp + 0x18]
jb 0x46f9e3
lea eax, [esp + 0x78]
movzx eax, word [eax]
movzx ecx, ax
mov dword [esp + 0x78], ecx
add ecx, 0xfffffffd
fild dword [esp + 0x78]
fld qword [0x51de78]
fnstcw word [esp + 0x78]
movzx eax, word [esp + 0x78]
or eax, 0xc00
fmul st(1), st(0)
mov dword [esp + 0x18], eax
fxch st(1)
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov dx, word [esp + 0x18]
movzx esi, dx
fldcw word [esp + 0x78]
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fnstcw word [esp + 0x78]
movzx eax, word [esp + 0x78]
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov ax, word [esp + 0x18]
movzx ebx, ax
mov eax, dword [esp + 0x74]
fldcw word [esp + 0x78]
cmp dword [eax + 0x18], edi
jb 0x46fa62
mov edi, dword [eax + 4]
jmp 0x46fa65
lea edi, [eax + 4]
mov edx, dword [esp + 0x70]
neg edx
sbb edx, edx
lea ecx, [ebx + 0x3c]
and edx, 0xfffc0000
push ecx
add edx, 0x40000
push edx
lea eax, [esp + 0x40]
push eax
call fcn.00470d10
mov dword [esp + 0x64], 1
push 0x15
push 0x15
push 0xa
push 0xa
push 0x50000003
push 0x1f4
push 0x82
lea ecx, [esp + 0x54]
push ecx
mov ecx, 0x5057a4
call fcn.00470ef0
cmp dword [ebp + 0x18], 8
jb 0x46fac1
mov ecx, dword [ebp + 4]
jmp 0x46fac4
lea ecx, [ebp + 4]
push esi
push 0x132
push 0xa
push 0x26
push 0x50000000
push 0x1f5
push 0x82
lea edx, [esp + 0x54]
push edx
call fcn.00470ef0
push 0xe
push 0x32
lea esi, [ebx + 0x25]
push esi
push 0x128
push 0x50000001
push 1
push 0x80
lea eax, [esp + 0x54]
push eax
mov ecx, str.Close
call fcn.00470ef0
mov ebp, dword [esp + 0x7c]
cmp dword [ebp + 0x14], 0
mov edi, dword [esp + 0x6c]
je 0x46fbe7
cmp dword [edi + 0x20], 0
je 0x46fb5d
mov ecx, dword [edi + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test al, al
je 0x46fb5d
push 0xe
push 0x41
push esi
push 0xe1
push 0x50000000
push 0x1f9
push 0x80
lea ecx, [esp + 0x54]
push ecx
mov ecx, str.Send_Error_Report
call fcn.00470ef0
push 0xe
push 0x32
push esi
push 5
push 0x50000000
push 0x1f7
push 0x80
lea edx, [esp + 0x54]
push edx
mov ecx, 0x50fe5c
call fcn.00470ef0
cmp dword [ebp + 0x18], 8
jb 0x46fb8d
mov ecx, dword [ebp + 4]
jmp 0x46fb90
lea ecx, [ebp + 4]
push 0xc8
push 0x156
lea eax, [ebx + 0x37]
push eax
push 4
push 0x40b018c4
push 0x1f6
push 0x81
lea edx, [esp + 0x54]
push edx
call fcn.00470ef0
push 0xe
push 0x32
add ebx, 0x104
push ebx
push 0x128
push 0x40000000
push 0x1f8
push 0x80
lea eax, [esp + 0x54]
push eax
mov ecx, str.Copy
call fcn.00470ef0
mov ecx, dword [esp + 0x70]
push edi
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
lea eax, [esp + 0x44]
call fcn.00471020
mov dword [esp + 0x64], 0xffffffff
lea edx, [esp + 0x38]
push edx
call fcn.00470e80
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x14