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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push edi
push eax
mov ecx, esi
call sym.MFC42.DLL_Ordinal_4075
test eax, eax
je 0x5f4466e4
mov eax, dword [ebp + 8]
push dword [esi + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_3162
mov ebx, dword [ebp + 0x10]
mov edi, eax
mov eax, dword [esi]
mov dword [ebp - 4], edi
cmp eax, 0xe
ja case.0x5f446513.4
jmp dword [eax*4 + 0x5f446abe]
mov eax, dword [esi + 4]
mov dword [eax + 0x20], 1
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_4101
test eax, eax
je 0x5f446584
mov eax, dword [ebp - 4]
xor ebx, ebx
xor edi, edi
or dword [eax], 0xffffffff
push dword [ebp - 4]
mov ax, word [esi + 8]
push ebx
push edi
push ebx
push 0x17
push 0xb
push 0xb
push eax
push dword [ebp + 8]
push dword [esi + 0x2c]
call fcn.5f45386b
cmp ax, bx
je 0x5f44656c
mov ecx, dword [esi + 4]
push dword [esi + 0x2c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x5c]
mov ecx, dword [esi + 4]
mov edi, dword [ebp + 8]
add ecx, 0x5c
push dword [ebp + 0x10]
call sym.MFC42.DLL_Ordinal_909
mov dword [eax], edi
jmp 0x5f4466e4
mov eax, dword [esi + 4]
xor ebx, ebx
cmp dword [eax + 0x7c], ebx
jne 0x5f4465c2
mov eax, dword [eax + 0x18]
shl eax, 2
push eax
call sym.MFC42.DLL_Ordinal_823
mov ecx, dword [esi + 4]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x18]
shl ecx, 2
push ecx
push ebx
push dword [eax + 0x7c]
call sub.MSVCRT.dll_memset
mov eax, dword [esi + 4]
add esp, 0x10
mov ecx, dword [eax + 0x18]
mov dword [eax + 0x84], ecx
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
mov edi, dword [eax + ecx*4 - 4]
cmp edi, ebx
jne 0x5f4465ea
push 0x10
call sym.MFC42.DLL_Ordinal_823
mov edi, eax
mov eax, dword [esi + 4]
pop ecx
mov eax, dword [eax + 0x7c]
mov ecx, dword [ebp + 8]
mov dword [eax + ecx*4 - 4], edi
mov ecx, dword [ebp + 0x10]
call sym.MFC42.DLL_Ordinal_3880
mov ecx, dword [ebp + 0x10]
mov word [edi], ax
call sym.MFC42.DLL_Ordinal_3425
mov ecx, dword [ebp + 0x10]
mov word [edi + 2], ax
call sym.MFC42.DLL_Ordinal_3054
mov ecx, dword [ebp + 0x10]
mov word [edi + 4], ax
call sym.MFC42.DLL_Ordinal_3227
mov ecx, dword [ebp + 0x10]
mov word [edi + 6], ax
call sym.MFC42.DLL_Ordinal_3408
mov ecx, dword [ebp + 0x10]
mov word [edi + 8], ax
call sym.MFC42.DLL_Ordinal_3758
mov word [edi + 0xa], ax
mov eax, dword [ebp - 4]
mov dword [edi + 0xc], ebx
mov dword [eax], 0x10
jmp 0x5f44653f
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_4070
test eax, eax
je case.0x5f446513.10
push dword [ebp + 0xc]
mov ecx, dword [esi + 0x10]
call sym.MFC42.DLL_Ordinal_941
mov ecx, dword [esi + 0x10]
push 0x3d
call sym.MFC42.DLL_Ordinal_940
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_4070
test eax, eax
je 0x5f4466e4
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 8]
dec eax
mov edx, dword [ecx + 0x78]
push eax
mov edi, dword [edx + eax*4]
call sym.MFC42.DLL_Ordinal_4072
xor ebx, ebx
test eax, eax
je 0x5f4466eb
mov eax, dword [ebp - 4]
or dword [eax], 0xffffffff
mov eax, dword [esi + 4]
test byte [eax + 0x2d], 0x40
jne 0x5f4466e4
mov ecx, dword [esi + 0x10]
push 0x3f
call sym.MFC42.DLL_Ordinal_940
push dword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
call sym.MFC42.DLL_Ordinal_941
mov eax, dword [esi + 4]
push dword [ebp - 4]
mov ecx, dword [ebp + 8]
inc dword [esi + 0x28]
mov eax, dword [eax + 0x38]
push ebx
shl ecx, 4
push edi
push ebx
mov ax, word [eax + ecx - 0xc]
push 0x17
push eax
mov ax, word [esi + 0x28]
push 0xb
push 1
push eax
push dword [esi + 0x2c]
call fcn.5f45386b
pop edi
pop esi
pop ebx
leave
ret 0xc
mov ecx, dword [ebp + 0x10]
call sym.MFC42.DLL_Ordinal_3880
mov ecx, dword [ebp + 0x10]
mov word [edi], ax
call sym.MFC42.DLL_Ordinal_3425
mov ecx, dword [ebp + 0x10]
mov word [edi + 2], ax
call sym.MFC42.DLL_Ordinal_3054
mov ecx, dword [ebp + 0x10]
mov word [edi + 4], ax
call sym.MFC42.DLL_Ordinal_3227
mov ecx, dword [ebp + 0x10]
mov word [edi + 6], ax
call sym.MFC42.DLL_Ordinal_3408
mov ecx, dword [ebp + 0x10]
mov word [edi + 8], ax
call sym.MFC42.DLL_Ordinal_3758
mov word [edi + 0xa], ax
mov eax, dword [ebp - 4]
mov dword [edi + 0xc], ebx
mov dword [eax], 0x10
jmp 0x5f446698
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_4101
neg eax
sbb eax, eax
xor ebx, ebx
and al, 0xef
add eax, 0x10
mov dword [edi], eax
mov esi, dword [esi + 4]
cmp dword [esi + 0x84], ebx
je 0x5f4466e4
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov esi, dword [eax + ecx*4 - 4]
mov ecx, edi
call sym.MFC42.DLL_Ordinal_3880
mov ecx, edi
mov word [esi], ax
call sym.MFC42.DLL_Ordinal_3425
mov ecx, edi
mov word [esi + 2], ax
call sym.MFC42.DLL_Ordinal_3054
mov ecx, edi
mov word [esi + 4], ax
call sym.MFC42.DLL_Ordinal_3227
mov ecx, edi
mov word [esi + 6], ax
call sym.MFC42.DLL_Ordinal_3408
mov ecx, edi
mov word [esi + 8], ax
call sym.MFC42.DLL_Ordinal_3758
mov word [esi + 0xa], ax
mov dword [esi + 0xc], ebx
jmp 0x5f4466e4
mov eax, dword [esi + 4]
xor ebx, ebx
cmp dword [eax + 0x80], ebx
je 0x5f4466e4
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp + 8]
mov edi, dword [eax + ecx*4 - 4]
mov ecx, dword [ebp + 0x10]
call sym.MFC42.DLL_Ordinal_3880
mov ecx, dword [ebp + 0x10]
mov word [edi], ax
call sym.MFC42.DLL_Ordinal_3425
mov ecx, dword [ebp + 0x10]
mov word [edi + 2], ax
call sym.MFC42.DLL_Ordinal_3054
mov ecx, dword [ebp + 0x10]
mov word [edi + 4], ax
call sym.MFC42.DLL_Ordinal_3227
mov ecx, dword [ebp + 0x10]
mov word [edi + 6], ax
call sym.MFC42.DLL_Ordinal_3408
mov ecx, dword [ebp + 0x10]
mov word [edi + 8], ax
call sym.MFC42.DLL_Ordinal_3758
push 0x17
push 0x10
push 0xb
mov word [edi + 0xa], ax
push dword [ebp - 4]
mov dword [edi + 0xc], ebx
push edi
push dword [ebp + 0xc]
mov ecx, esi
call sym.MFC42.DLL_Ordinal_2378
jmp 0x5f4466e4
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
mov edx, eax
mov edi, dword [ecx + 0x3c]
shl edx, 4
dec eax
lea edi, [edi + edx - 0x10]
mov dl, byte [edi + 0xc]
push edx
push eax
call sym.MFC42.DLL_Ordinal_5971
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_4072
test eax, eax
jne 0x5f4468d6
push dword [edi + 8]
mov ebx, dword [ebp + 0x10]
push dword [ebp - 4]
push ebx
push dword [edi]
call sym.MFC42.DLL_Ordinal_1115
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x78]
mov esi, dword [eax + ecx*4 - 4]
mov ecx, ebx
call sym.MFC42.DLL_Ordinal_3880
mov ecx, ebx
mov word [esi], ax
call sym.MFC42.DLL_Ordinal_3425
mov ecx, ebx
mov word [esi + 2], ax
call sym.MFC42.DLL_Ordinal_3054
mov ecx, ebx
mov word [esi + 4], ax
call sym.MFC42.DLL_Ordinal_3227
mov ecx, ebx
mov word [esi + 6], ax
call sym.MFC42.DLL_Ordinal_3408
mov ecx, ebx
mov word [esi + 8], ax
call sym.MFC42.DLL_Ordinal_3758
and dword [esi + 0xc], 0
mov word [esi + 0xa], ax
jmp 0x5f4466e4
mov eax, dword [ebp - 4]
or dword [eax], 0xffffffff
jmp 0x5f4466e4
mov eax, dword [esi + 4]
xor ebx, ebx
cmp dword [eax + 0x78], ebx
jne 0x5f44691f
mov eax, dword [eax + 0x14]
shl eax, 2
push eax
call sym.MFC42.DLL_Ordinal_823
mov ecx, dword [esi + 4]
mov dword [ecx + 0x78], eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x14]
shl ecx, 2
push ecx
push ebx
push dword [eax + 0x78]
call sub.MSVCRT.dll_memset
mov eax, dword [esi + 4]
add esp, 0x10
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x80], ecx
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x78]
cmp dword [eax + ecx*4 - 4], ebx
jne 0x5f446946
push 0x10
call sym.MFC42.DLL_Ordinal_823
mov edx, dword [ebp + 8]
pop ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x78]
mov dword [ecx + edx*4 - 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
push edi
push 0x10
mov edx, dword [eax + 0x78]
push dword [edx + ecx*4 - 4]
push 0xb
push ecx
push dword [eax + 4]
call fcn.5f453859
mov ecx, dword [esi + 4]
mov edi, eax
push edi
mov eax, dword [ecx]
call dword [eax + 0x50]
test eax, eax
jne 0x5f446977
mov ecx, dword [esi + 4]
push ebx
push edi
mov eax, dword [ecx]
call dword [eax + 0x5c]
mov ecx, dword [esi + 4]
mov edi, dword [ebp + 8]
add ecx, 0x40
jmp 0x5f446575
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 8]
shl ecx, 4
mov eax, dword [eax + 0x3c]
push 0xc
lea esi, [eax + ecx - 0x10]
call sym.MFC42.DLL_Ordinal_823
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x5f4469b8
fldz
mov dword [eax + 8], ebx
fstp qword [eax]
mov dword [esi], eax
mov dword [esi + 8], 0x10
jmp 0x5f4466e4
xor eax, eax
jmp 0x5f4469aa
cmp dword [edi], 0xffffffff
jne 0x5f4469dd
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_6046
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], 2
jmp 0x5f4466e4
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x78]
mov eax, dword [eax + ecx*4 - 4]
movzx ecx, word [eax + 0xa]
push ecx
movzx ecx, word [eax + 8]
push ecx
movzx ecx, word [eax + 6]
push ecx
movzx ecx, word [eax + 4]
push ecx
movzx ecx, word [eax + 2]
movsx eax, word [eax]
push ecx
push eax
lea ecx, [ebp - 0x10]
call sym.MFC42.DLL_Ordinal_5933
fld qword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
fstp qword [eax]
mov dword [eax + 8], ecx
jmp 0x5f4466e4
mov eax, dword [esi + 0x18]
xor ebx, ebx
cmp eax, ebx
jne 0x5f446a30
cmp dword [esi + 8], ebx
je 0x5f446a39
cmp eax, dword [ebp + 0x10]
jne 0x5f4466e4
cmp dword [esi + 0x14], ebx
mov eax, dword [ebp + 8]
je 0x5f446a5d
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_6046
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], 2
or dword [edi], 0xffffffff
jmp 0x5f4466e4
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_1961
mov dword [edi], 0x10
jmp 0x5f4466e4
mov eax, dword [ebp + 0x10]
cmp dword [eax + 8], 2
je 0x5f4466e4
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_5947
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_1961
jmp 0x5f4466e4
cmp dword [ebx + 8], 2
je case.0x5f446513.4
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 4]
dec eax
push eax
call sym.MFC42.DLL_Ordinal_1961
push 0x17
push 0xc
push 0xb
push edi
push ebx
jmp 0x5f446831