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

Disassembly:
sub esp, 0x3c
push ebx
push esi
mov esi, dword [esp + 0x48]
mov eax, dword [esi - 0x1290]
add esi, 0xffffed54
push edi
push eax
lea ecx, [esp + 0x2c]
call sub.mfc90.dll_Ordinal_321
mov edi, dword [esp + 0x58]
cmp edi, 3
jge 0x100372c4
mov edx, dword [esi]
mov eax, dword [edx + 0x58]
push 1
mov ecx, esi
call eax
cmp edi, 1
jne 0x10037559
mov ecx, dword [esp + 0x50]
push ebp
push ecx
call sub.mfc90.dll_Ordinal_2592
push 0x73780
mov ebp, eax
call sub.mfc90.dll_Ordinal_798
add esp, 4
test eax, eax
je 0x100372f6
push 0
mov ecx, eax
call fcn.10010550
jmp 0x100372f8
xor eax, eax
mov dword [esi + 0x180], eax
lea edx, [esi + 0x460]
mov dword [eax + 0x4a8], edx
mov ecx, dword [esi + 0x180]
lea eax, [esi + 0x12f8]
mov dword [ecx + 0x4ac], eax
mov edx, dword [esi + 0x24]
push edx
call sub.mfc90.dll_Ordinal_2592
mov ecx, dword [esi + 0x180]
mov dword [ecx + 0x4a4], eax
mov edx, dword [esi + 0x180]
lea edi, [esi + 0x160]
push 0x298
mov dword [edx + 0x73774], edi
call sub.mfc90.dll_Ordinal_798
add esp, 4
test eax, eax
je 0x1003735f
push 0
mov ecx, eax
call fcn.100166a0
jmp 0x10037361
xor eax, eax
mov dword [esi + 0x184], eax
test eax, eax
je 0x1003738f
mov ecx, dword [esi + 0x170]
mov dword [eax + 0x74], ecx
mov edx, dword [esi + 0x24]
push edx
call sub.mfc90.dll_Ordinal_2592
mov ecx, dword [esi + 0x184]
mov dword [ecx + 0x78], eax
mov edx, dword [esi + 0x184]
mov dword [edx + 0x7c], edi
mov ecx, dword [esi + 0x180]
mov eax, dword [ecx]
mov edx, dword [eax + 0x148]
push ebp
push 0x80
call edx
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
mov edx, dword [eax + 0x148]
push ebp
push 0x7f
call edx
mov eax, dword [esi + 0x180]
mov ecx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0xffffffffffffffeb
push ecx
call edi
mov edx, dword [esi + 0x184]
mov eax, dword [edx + 0x20]
push 2
push 0xffffffffffffffeb
push eax
call edi
mov ecx, dword [esi + 0x180]
test ecx, ecx
je 0x10037491
lea edx, [esi + 0x1c0]
push edx
lea eax, [esi + 0x188]
push eax
push 0x1005a138
call fcn.10015c70
fld qword [esi + 0x470]
mov edi, dword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
fst qword [esp + 0x10]
lea ecx, [esp + 0x3c]
push ecx
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x1003742c
movzx eax, word [esp + 0x44]
jmp 0x1003742f
or eax, 0xffffffff
mov edx, dword [esi + 0x180]
fld qword [esp + 0x10]
mov dword [edx + 0x48c], eax
lea eax, [esp + 0x3c]
push eax
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x10037457
movzx eax, word [esp + 0x46]
jmp 0x1003745a
or eax, 0xffffffff
mov ecx, dword [esi + 0x180]
fld qword [esp + 0x10]
lea edx, [esp + 0x3c]
push edx
sub esp, 8
fstp qword [esp]
mov dword [ecx + 0x490], eax
call edi
test eax, eax
je 0x10037482
movzx eax, word [esp + 0x48]
jmp 0x10037485
or eax, 0xffffffff
mov ecx, dword [esi + 0x180]
mov dword [ecx + 0x494], eax
mov eax, dword [esi + 0x180]
mov ecx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetClientRect]
lea edx, [esp + 0x1c]
push edx
push ecx
call edi
mov eax, dword [ebp + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0x1c]
push edx
push 0
push 0x1328
push eax
call ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add eax, ecx
push 1
mov dword [esp + 0x2c], eax
sub eax, ecx
push eax
mov eax, dword [esp + 0x24]
sub edx, eax
push edx
push ecx
mov ecx, dword [esi + 0x180]
push eax
call sub.mfc90.dll_Ordinal_4529
mov ecx, dword [esi + 0x180]
push 5
call sub.mfc90.dll_Ordinal_6584
mov ecx, dword [esi + 0x184]
mov edx, dword [ecx + 0x20]
lea eax, [esp + 0x1c]
push eax
push edx
call edi
mov ecx, dword [ebp + 0x20]
lea eax, [esp + 0x1c]
push eax
push 0
push 0x1328
push ecx
call ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add eax, ecx
push 1
mov dword [esp + 0x2c], eax
sub eax, ecx
push eax
mov eax, dword [esp + 0x24]
sub edx, eax
push edx
push ecx
mov ecx, dword [esi + 0x184]
push eax
call sub.mfc90.dll_Ordinal_4529
mov ecx, dword [esi + 0x184]
push 0
call sub.mfc90.dll_Ordinal_6584
pop ebp
jmp 0x10037624
xor ebx, ebx
cmp edi, ebx
jne 0x100375ad
mov ecx, dword [esi + 0x180]
mov eax, dword [ecx]
mov edx, dword [eax + 0x68]
call edx
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
mov edx, dword [eax + 0x68]
call edx
mov ecx, dword [esi + 0x180]
cmp ecx, ebx
je 0x1003758c
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x1003759f
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x184], ebx
jmp 0x10037624
cmp edi, 2
jne 0x100375da
mov eax, dword [esi + 0x180]
mov ecx, dword [esp + 0x5c]
push ecx
lea edx, [eax + 0x4b4]
push edx
add eax, 0x4b0
push eax
lea eax, [esi + 0x12f8]
push eax
mov ecx, esi
call fcn.10035940
jmp 0x10037624
cmp edi, 3
jl 0x10037624
mov ecx, dword [esi + 0x180]
test ecx, ecx
je 0x10037624
cmp dword [esi + 0x184], ebx
je 0x10037624
push 0
call sub.mfc90.dll_Ordinal_6584
mov ecx, dword [esi + 0x184]
push 0
call sub.mfc90.dll_Ordinal_6584
cmp edi, 5
jne 0x10037612
mov ecx, dword [esi + 0x180]
jmp 0x1003761d
cmp edi, 4
jne 0x10037624
mov ecx, dword [esi + 0x184]
push 5
call sub.mfc90.dll_Ordinal_6584
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
test eax, eax
je 0x10037636
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
cmp dword [esp + 0x28], 0
je 0x10037649
mov edx, dword [esp + 0x24]
push edx
push 0
call sub.mfc90.dll_Ordinal_1087
xor eax, eax
add esp, 0x3c
ret 0x14