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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x493718
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x74]
lea edi, [esi + 0x70]
test eax, eax
jne 0x4477ec
xor ecx, ecx
jmp 0x4477f4
mov ecx, dword [edi + 8]
sub ecx, eax
sar ecx, 4
mov edx, dword [esi + 0x54]
test edx, edx
jne 0x4477ff
xor eax, eax
jmp 0x447807
mov eax, dword [esi + 0x58]
sub eax, edx
sar eax, 4
cmp ecx, eax
jne 0x44783d
mov eax, dword [esi + 0x74]
mov edx, dword [eax + 4]
test edx, edx
jne 0x447819
xor ecx, ecx
jmp 0x447820
mov ecx, dword [eax + 8]
sub ecx, edx
sar ecx, 1
mov eax, dword [esi + 0x54]
mov edx, dword [eax + 4]
test edx, edx
jne 0x44782e
xor eax, eax
jmp 0x447835
mov eax, dword [eax + 8]
sub eax, edx
sar eax, 1
cmp ecx, eax
je 0x4479d7
mov ebp, dword [esi + 0x78]
mov eax, dword [edi + 8]
mov ebx, dword [esi + 0x74]
cmp ebp, eax
mov dword [esp + 0x28], eax
je 0x447864
push ebp
mov ecx, ebx
call fcn.00449340
mov eax, dword [esp + 0x28]
add ebp, 0x10
add ebx, 0x10
cmp ebp, eax
jne 0x44784e
mov eax, dword [edi + 8]
mov ecx, edi
push eax
push ebx
call fcn.00424b30
mov al, byte [esp + 0x13]
xor ebp, ebp
mov dword [edi + 8], ebx
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x54], ebp
cmp ebx, ebp
jbe 0x4478fb
mov eax, ebx
jge 0x44789a
xor eax, eax
lea ecx, [eax + eax]
push ecx
call sub.MFC42.DLL_operatornew
mov edx, dword [esp + 0x48]
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x40]
push ebp
push edx
push eax
lea ecx, [esp + 0x48]
call fcn.00449890
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.00424b70
mov eax, dword [esp + 0x40]
push eax
call sub.MFC42.DLL_operatordelete
lea ecx, [ebp + ebx*2]
add esp, 4
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x3c]
call fcn.004494c0
lea edx, [ebp + eax*2]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edx
xor ebp, ebp
mov eax, dword [esi + 0x10]
xor ebx, ebx
cmp eax, ebp
jle 0x447923
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x30], ebp
call fcn.004496f0
mov eax, dword [esi + 0x10]
inc ebx
cmp ebx, eax
jl 0x447904
mov ebx, dword [esi + 0x14]
mov ecx, edi
call fcn.004494e0
cmp eax, ebx
jae 0x44798e
cmp ebx, ebp
mov eax, ebx
jge 0x447939
xor eax, eax
shl eax, 4
push eax
call sub.MFC42.DLL_operatornew
mov edx, dword [edi + 8]
add esp, 4
mov ebp, eax
mov eax, dword [edi + 4]
push ebp
push edx
push eax
mov ecx, edi
call fcn.00449690
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
push ecx
push edx
mov ecx, edi
call fcn.00424b30
mov eax, dword [edi + 4]
push eax
call sub.MFC42.DLL_operatordelete
shl ebx, 4
add ebx, ebp
add esp, 4
mov ecx, edi
mov dword [edi + 0xc], ebx
call fcn.00449320
shl eax, 4
add eax, ebp
mov dword [edi + 4], ebp
mov dword [edi + 8], eax
xor ebp, ebp
mov eax, dword [esi + 0x14]
xor ebx, ebx
cmp eax, ebp
jle 0x4479af
mov eax, dword [edi + 8]
lea ecx, [esp + 0x3c]
push ecx
push eax
mov ecx, edi
call fcn.00449500
mov eax, dword [esi + 0x14]
inc ebx
cmp ebx, eax
jl 0x447997
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], 0xffffffff
call fcn.00424b70
mov ecx, dword [esp + 0x40]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov edx, dword [esi + 0x10]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x49f0f8]
call sub.MSVCRT.dll__ftol
mov edi, eax
mov eax, dword [esi + 0xc]
cdq
and edx, 3
xor ebx, ebx
add eax, edx
xor ebp, ebp
mov ecx, eax
mov eax, dword [esi + 0x14]
sar ecx, 2
cmp eax, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], ecx
jle 0x447b8e
mov edx, ecx
mov eax, edi
imul edx, edi
neg eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edx
jmp 0x447a37
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
cmp ebp, ecx
jge 0x447a41
mov eax, dword [esp + 0x20]
jmp 0x447a47
mov eax, dword [esp + 0x1c]
sub eax, edx
cdq
idiv ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xa4]
test eax, eax
jne 0x447a5e
mov dword [esp + 0x24], eax
jmp 0x447a6c
mov ecx, dword [esi + 0xa8]
sub ecx, eax
sar ecx, 1
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
mov edx, dword [esi + 0x94]
xor edi, edi
mov di, word [edx + ebp*2]
fld st(0)
fmul qword [0x49f0f0]
mov dword [esp + 0x14], edi
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xa4]
shl eax, 1
sub ecx, eax
xor eax, eax
mov ax, word [ecx]
cmp edi, eax
jge 0x447aa4
mov dword [esp + 0x14], eax
mov edx, dword [esi + 0xb4]
xor edi, edi
fmul qword [0x49f0e8]
mov di, word [edx + ebp*2]
mov dword [esp + 0x24], edi
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xc4]
shl eax, 1
sub ecx, eax
xor eax, eax
mov ax, word [ecx]
cmp edi, eax
jge 0x447ad6
mov dword [esp + 0x14], eax
fild dword [esp + 0x24]
fmul qword [0x49f0e0]
fild dword [esp + 0x14]
fmul qword [0x49de80]
faddp st(1)
call sub.MSVCRT.dll__ftol
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub edx, edi
mov dword [esp + 0x14], eax
cmp edi, edx
mov ecx, edi
jge 0x447b63
cmp ebp, 8
jl 0x447b48
mov eax, dword [esi + 0x14]
sub eax, 0x14
cmp ebp, eax
jg 0x447b48
cmp ecx, 0xa
jl 0x447b48
mov edx, dword [esp + 0x18]
add edx, 0xfffffff6
cmp ecx, edx
jg 0x447b48
mov eax, dword [esi + 0x54]
mov edx, dword [eax + ebx + 4]
xor eax, eax
mov ax, word [edx + ecx*2]
mov edx, dword [esp + 0x14]
cmp eax, edx
mov edx, dword [esi + 0x74]
mov eax, dword [ebx + edx + 4]
jle 0x447b4f
mov word [eax + ecx*2], 0xfe
jmp 0x447b55
mov edx, dword [esi + 0x74]
mov eax, dword [ebx + edx + 4]
mov word [eax + ecx*2], 0
mov edx, dword [esi + 0x10]
inc ecx
mov dword [esp + 0x18], edx
sub edx, edi
cmp ecx, edx
jl 0x447b05
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
add eax, ecx
inc ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x14]
add edi, edx
add ebx, 0x10
cmp ebp, eax
mov dword [esp + 0x20], edi
jl 0x447a2f
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x48
ret