Function at 0x417fe0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x431e50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push ebp
push edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
cmp dword [edi + 4], 0xf
jne 0x418022
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 0xc
lea ecx, [esp + 0x14]
mov ebx, 1
call fcn.00408d50
lea ecx, [esp + 0xc]
mov dword [esp + 0x24], 0
call fcn.00408d50
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], bl
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov byte [esp + 0x24], 2
call sub.MFC42.DLL_CString::CString_3
mov ebp, dword [esp + 0x34]
mov eax, dword [edi + 4]
push ebp
push eax
mov ecx, 0x440960
mov byte [esp + 0x2c], 3
call fcn.0041cd00
cmp eax, 0xffffffff
jne 0x4180c9
lea ecx, [esp + 0x30]
mov byte [esp + 0x24], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x24], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop edi
mov eax, ebx
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 0xc
cmp eax, 0xa
push esi
ja case.default.0x4180cf
jmp dword [eax*4 + 0x418274]
mov esi, 0xc5
jmp 0x418121
mov esi, 0xc6
jmp 0x418121
mov esi, 0xc7
jmp 0x418121
mov esi, 0x4e
jmp 0x418121
mov esi, 0x71
jmp 0x418121
mov esi, 0x6a
jmp 0x418121
mov esi, 0xc8
jmp 0x418121
mov esi, 0xc9
jmp 0x418121
mov esi, 0xca
jmp 0x418121
mov esi, 0xcb
jmp 0x418121
mov esi, 0xdc
mov ecx, dword [edi + 4]
push ebp
push ecx
mov ecx, 0x440960
call fcn.0041cd80
sub eax, 3
je 0x41814d
dec eax
je 0x418144
dec eax
jne 0x418156
mov ebp, 0x9f
xor ebx, ebx
jmp 0x41815a
mov ebp, 0x9e
xor ebx, ebx
jmp 0x41815a
mov ebp, 0x9d
xor ebx, ebx
jmp 0x41815a
mov ebp, dword [esp + 0x30]
mov edx, dword [edi]
lea ecx, [esp + 0x10]
push edx
call fcn.00408d60
test esi, esi
je 0x4181a5
push esi
lea ecx, [esp + 0x1c]
call fcn.00408d60
lea eax, [esp + 0x18]
lea ecx, [esp + 0x38]
push eax
push 0x43f114
push ecx
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 3
call sub.MFC42.DLL_CString::CString
mov edx, dword [edi]
lea ecx, [esp + 0x34]
push edx
call sub.MFC42.DLL_CString::LoadStringA
test esi, esi
je 0x4181f0
push esi
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::LoadStringA
lea eax, [esp + 0x14]
lea ecx, [esp + 0x38]
push eax
push 0x43f114
push ecx
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x2c], 5
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 3
call sub.MFC42.DLL_CString::CString
test ebx, ebx
pop esi
je 0x418205
lea edx, [esp + 0x30]
push 0
lea eax, [esp + 0x10]
push edx
push eax
push 0
jmp 0x418212
lea edx, [esp + 0x30]
push ebp
lea eax, [esp + 0x10]
push edx
push eax
push 1
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004119d0
lea ecx, [esp + 0x30]
mov byte [esp + 0x24], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x24], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebx
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 0xc