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

Disassembly:
push 0x38
mov eax, 0x4c73ac
call fcn.004c549d
mov edi, ecx
mov dword [ebp - 0x30], edi
or dword [ebp - 0x40], 0xffffffff
lea ecx, [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.MFC42u.dll_CString::CString]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.MFC42u.dll_AfxGetModuleState]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
cmp byte [edi + 0x20c], bl
je 0x4883a6
push 3
jmp 0x488c08
push 0x848
mov byte [ebp - 4], 1
call fcn.004c400e
mov esi, eax
pop ecx
mov dword [ebp - 0x24], esi
jmp 0x4883d8
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], ebx
test esi, esi
jne 0x4883f4
push ebx
push ebx
push 0x40c828
call dword [sym.imp.MFC42u.dll_AfxMessageBox]
jmp 0x488c12
push 0x848
push ebx
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi], 0x848
mov dword [esi + 0x2c], 0x20000
lea eax, [esi + 0x78]
mov dword [esi + 0x70], 0x78
mov dword [esi + 0x40], 0x8000000
push dword [edi + 0x10]
push 0x1f4
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
add esp, 0xc
lea ecx, [edi + 0x10]
push 0x40c03c
call fcn.004757e3
test eax, eax
jne 0x48844f
inc eax
or dword [esi + 0x40], 0x2000000
mov dword [ebp - 0x18], eax
cmp dword [edi + 8], ebx
je 0x48851f
mov dword [esi + 0x6c], 0x460
lea eax, [esi + 0x460]
push dword [edi + 0xc]
push 0x1f4
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
mov eax, dword [ebp - 0x18]
add esp, 0xc
test eax, eax
jne 0x488522
cmp dword [edi + 0x1cc], 0xa
jle 0x488551
mov eax, dword [edi + 0x1c8]
mov ecx, dword [esi + 0x40]
mov eax, dword [eax + 0x28]
cmp dword [eax - 8], ebx
je 0x4884be
or ecx, 2
mov dword [esi + 0x40], ecx
cmp dword [edi + 0x1cc], 0xa
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x28
jmp 0x4884da
or ecx, 1
mov dword [esi + 0x40], ecx
cmp dword [edi + 0x1cc], 0xb
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x2c
call fcn.0049c913
mov dword [esi + 0x3c], eax
cmp dword [edi], ebx
je 0x4884ea
or dword [esi + 0x40], 4
cmp dword [edi + 0x1cc], 0xc
jle 0x488551
mov eax, dword [edi + 0x1c8]
mov eax, dword [eax + 0x30]
cmp dword [eax - 8], ebx
je 0x48851f
or dword [esi + 0x40], 8
cmp dword [edi + 0x1cc], 0xc
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x30
call fcn.0049c913
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x18]
cmp dword [edi + 4], ebx
je 0x48852e
or dword [esi + 0x40], 0x100
test eax, eax
jne 0x488621
push 0x40c794
lea ecx, [ebp - 0x28]
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov byte [ebp - 4], 3
cmp dword [edi + 0x1cc], 0xd
jg 0x488557
call dword [sym.imp.MFC42u.dll_AfxThrowInvalidArgException]
mov ecx, dword [edi + 0x1c8]
push dword [ebp - 0x28]
add ecx, 0x34
call fcn.004757e3
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
mov esi, eax
call dword [0x4f63ac]
test esi, esi
jne 0x488586
mov eax, dword [ebp - 0x20]
or dword [eax + 0x40], 0x4000
jmp 0x4885ce
push 0x40c794
lea ecx, [ebp - 0x28]
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov byte [ebp - 4], 4
cmp dword [edi + 0x1cc], 0xe
jle 0x488551
mov ecx, dword [edi + 0x1c8]
push dword [ebp - 0x28]
add ecx, 0x38
call fcn.004757e3
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
mov esi, eax
call dword [0x4f63ac]
test esi, esi
jne 0x4885ce
mov eax, dword [ebp - 0x20]
or dword [eax + 0x40], 0x8000
push 0x40c794
lea ecx, [ebp - 0x28]
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov byte [ebp - 4], 5
cmp dword [edi + 0x1cc], 0x10
jle 0x488551
mov ecx, dword [edi + 0x1c8]
push dword [ebp - 0x28]
add ecx, 0x40
call fcn.004757e3
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
mov esi, eax
call dword [0x4f63ac]
test esi, esi
mov esi, dword [ebp - 0x20]
jne 0x488621
or dword [esi + 0x40], 0x80000
mov dword [esi + 0x30], 3
cmp dword [edi + 0x1cc], 8
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x20
call fcn.0049c913
mov dword [esi + 0x30], eax
cmp dword [edi + 0x1cc], 7
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x1c
call fcn.0049c913
mov dword [esi + 0x34], eax
cmp dword [edi + 0x1cc], 6
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x18
call fcn.0049c913
mov dword [esi + 0x38], eax
cmp dword [edi + 0x1cc], 5
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x14
call fcn.0049c913
mov dword [esi + 0x44], eax
cmp dword [edi + 0x1cc], 9
jle 0x488551
mov ecx, dword [edi + 0x1c8]
add ecx, 0x24
call fcn.0049c913
mov dword [esi + 0x4c], eax
cmp dword [edi + 0x1cc], 0xf
jle 0x488551
mov eax, dword [edi + 0x1c8]
add eax, 0x3c
push 0x40c20c
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.004757e3
test eax, eax
jne 0x4886e9
mov dword [ebp - 0x28], 2
jmp 0x4886f4
mov ecx, dword [ebp - 0x28]
call fcn.0049c913
mov dword [ebp - 0x28], eax
mov ecx, dword [edi + 0x1cc]
cmp ecx, 4
jle 0x488551
mov eax, dword [edi + 0x1c8]
add eax, 0x10
push 0x40c20c
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.004757e3
test eax, eax
jne 0x488729
mov ecx, 0xffff
mov dword [ebp - 0x20], ecx
jmp 0x488736
mov ecx, dword [ebp - 0x20]
call fcn.0049c913
mov ecx, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x18], 0
je 0x48873f
mov dword [esi + 0x48], ecx
push esi
push dword [edi + 0x10]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.ADVAPI32.dll_StartTraceW]
test eax, eax
je 0x488bd9
cmp eax, 0xb7
je 0x48879e
mov ecx, dword [ebp - 0x2c]
push eax
push eax
call fcn.0049b907
push eax
lea eax, [ebp - 0x1c]
push 0x40c898
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
add esp, 0x10
push ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.MFC42u.dll_AfxMessageBox]
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
or dword [edi + 0x1e8], 0xffffffff
pop ecx
mov dword [edi + 0x1ec], ebx
jmp 0x488c12
cmp dword [ebp + 8], 0
je 0x4887ba
push 2
mov ecx, edi
call fcn.004881e2
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
jmp 0x488c0f
lea eax, [ebp - 0x1c]
push 0x40c910
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
pop ecx
pop ecx
push ebx
push 3
push dword [ebp - 0x1c]
call dword [sym.imp.MFC42u.dll_AfxMessageBox]
cmp eax, 7
jne 0x488c1f
push 0x1078
mov byte [ebp - 4], 6
call fcn.004c400e
pop ecx
mov ecx, eax
jmp 0x48880d
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], ebx
test ecx, ecx
jne 0x488824
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
jmp 0x488c12
push 0x1078
push ebx
push ecx
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [eax], 0x1078
mov dword [eax + 0x2c], 0x20000
mov dword [eax + 0x70], 0x78
add eax, 0x78
push dword [edi + 0x10]
push 0x1f4
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
mov eax, dword [ebp - 0x18]
add esp, 0xc
push ebx
push eax
mov dword [eax + 0x6c], 0x460
push dword [edi + 0x10]
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
test eax, eax
jne 0x488bd2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x40]
test al, 2
je 0x4888f7
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xa
jle 0x488551
push dword [ecx + 0x3c]
mov eax, dword [eax + 0x1c8]
add eax, 0x28
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 0xb
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x2c
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xc
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x30
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x40]
test al, 1
je 0x48896a
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xb
jle 0x488551
push dword [ecx + 0x3c]
mov eax, dword [eax + 0x1c8]
add eax, 0x2c
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 0xa
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x28
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xc
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x30
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x40]
test al, 8
je 0x4889dd
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xc
jle 0x488551
push dword [ecx + 0x3c]
mov eax, dword [eax + 0x1c8]
add eax, 0x30
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 0xa
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x28
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xb
jle 0x488551
mov ecx, dword [eax + 0x1c8]
add ecx, 0x2c
call dword [sym.imp.MFC42u.dll_CString::Empty]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x40]
test eax, 0x4000
je 0x488a38
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xd
jle 0x488551
mov eax, dword [eax + 0x1c8]
add eax, 0x34
push 0x40bcf8
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
cmp dword [eax + 0x1cc], 0xe
jle 0x488551
mov eax, dword [eax + 0x1c8]
add eax, 0x38
push 0x40c214
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x40]
test eax, 0x8000
je 0x488a90
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 0xd
jle 0x488551
mov eax, dword [eax + 0x1c8]
add eax, 0x34
push 0x40c214
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
cmp dword [eax + 0x1cc], 0xe
jle 0x488551
mov eax, dword [eax + 0x1c8]
add eax, 0x38
push 0x40bcf8
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1cc], 8
jle 0x488551
push dword [ecx + 0x30]
mov eax, dword [eax + 0x1c8]
add eax, 0x20
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 7
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x1c
push dword [ecx + 0x34]
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 6
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x18
push dword [ecx + 0x38]
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 5
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x14
push dword [ecx + 0x44]
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 0xf
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x3c
push dword [ecx + 0xc]
push dword [ecx + 8]
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0x10
cmp dword [eax + 0x1cc], 9
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x24
push dword [ecx + 0x4c]
push 0x40afe4
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax + 0x1cc], 4
jle 0x488551
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c8]
add eax, 0x10
push dword [ecx + 0x48]
push 0x40cb14
push eax
call dword [sym.imp.MFC42u.dll_CString::Format]
add esp, 0xc
or dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], ebx
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
mov eax, dword [ebp - 0x3c]
pop ecx
mov ecx, dword [ebp - 0x40]
mov dword [edi + 0x1dc], 1
mov dword [edi + 0x1e8], ecx
mov dword [edi + 0x1ec], eax
cmp ecx, 0xffffffff
jne 0x488c4d
cmp eax, ebx
jne 0x488c4d
push 2
mov ecx, edi
call fcn.004881e2
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x1c]
call dword [0x4f63ac]
mov eax, ebx
jmp 0x488c72
cmp eax, 2
jne 0x488c36
or dword [edi + 0x1e8], 0xffffffff
mov dword [edi + 0x1ec], ebx
jmp 0x488817
push 1
push esi
push dword [edi + 0x10]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
jmp 0x48873f
mov edx, dword [ebp - 0x28]
push edx
push dword [ebp - 0x20]
push eax
push ecx
mov ecx, edi
call fcn.0048b729
push 2
mov ecx, edi
call fcn.004881e2
lea ecx, [ebp - 0x1c]
call dword [0x4f63ac]
xor eax, eax
inc eax
call fcn.004c5402
ret 4