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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100a0697
push eax
movsx eax, word [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x38
add eax, 0xfffff8f7
push ebx
push ebp
push esi
cmp eax, 0xa8
push edi
mov esi, ecx
ja case.0x1002856b.1862
xor ecx, ecx
mov cl, byte [eax + 0x1002a2f8]
jmp dword [ecx*4 + 0x1002a200]
mov edx, dword [esi + 0x90368]
lea ecx, [esi + 0x90368]
push 5
call dword [edx + 0xc4]
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ebp, [esi + 0x8cd10]
mov ecx, ebp
mov dword [esp + 0x58], ebp
mov bx, word [edi]
add edi, 2
call fcn.10061360
test bx, bx
push 0
jne 0x100285c5
push 0x1a8
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
jmp 0x100285db
push 0x1a7
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
movsx eax, bx
test eax, eax
jle 0x10028698
lea esi, [edi + 0xd]
mov dword [esp + 0x24], eax
or ebx, 0xffffffff
push edi
lea ecx, [esp + 0x24]
call sub.mfc42.dll_CString::CString_1
mov bp, word [esi - 2]
push esi
lea ecx, [esp + 0x64]
mov dword [esp + 0x54], 0
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 1
call fcn.10004b50
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call sub.mfc42.dll_CString::CString_1
push ebp
lea ecx, [esp + 0x28]
mov byte [esp + 0x58], 2
call fcn.10004b50
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.mfc42.dll_CString::CString_1
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x5c], 1
call fcn.100613e0
lea ecx, [esp + 0x60]
add edi, 0x16
add esi, 0x16
mov byte [esp + 0x50], 0
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x20]
mov dword [esp + 0x50], ebx
call sub.mfc42.dll_CString::CString
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
jne 0x100285ff
mov ebp, dword [esp + 0x58]
mov eax, dword [ebp]
push 5
mov ecx, ebp
call dword [eax + 0xc4]
jmp case.0x1002856b.1862
lea ecx, [esi + 0x8e0c4]
call fcn.100620f0
jmp case.0x1002856b.1862
mov edx, dword [esi + 0x8e0c4]
lea ecx, [esi + 0x8e0c4]
push 0
call dword [edx + 0xc4]
push 0
push 0x199
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
mov ebp, dword [esp + 0x60]
lea ecx, [esp + 0x20]
push ebp
call sub.mfc42.dll_CString::CString_1
lea eax, [ebp + 0xb]
lea ecx, [esp + 0x58]
push eax
mov dword [esp + 0x54], 3
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], 4
call sub.mfc42.dll_CString::CString_3
lea edi, [esi + 0x8ea4c]
mov ecx, edi
call fcn.1005f860
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.1005f8c0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x75970]
call fcn.10020480
mov edx, dword [esp + 0x58]
mov eax, dword [eax]
push edx
push eax
call dword [sym.imp.msvcrt.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x2c]
test eax, eax
sete bl
call sub.mfc42.dll_CString::CString
test bl, bl
je 0x1002878f
push 1
jmp 0x10028791
push 0
mov ecx, edi
call fcn.1005fa10
mov si, word [ebp + 0x1c]
add ebp, 0x1c
push esi
mov ecx, edi
add ebp, 2
call fcn.1005f980
movsx eax, si
test eax, eax
jle 0x100287c1
mov esi, eax
push ebp
mov ecx, edi
call fcn.1005fcf0
add ebp, 0x11
dec esi
jne 0x100287b3
push ebp
lea ecx, [esp + 0x64]
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x58], 5
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.1005f920
mov edx, dword [edi]
push 5
mov ecx, edi
call dword [edx + 0xc4]
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 4
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 3
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x20]
jmp 0x1002a1e5
mov edi, dword [esp + 0x60]
lea ecx, [esi + 0x8cd10]
mov dword [esp + 0x58], ecx
mov bx, word [edi]
add edi, 2
call fcn.10061360
test bx, bx
push 0
jne 0x10028859
push 0x1a8
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
jmp 0x1002886f
push 0x1a7
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
movsx eax, bx
test eax, eax
jle case.0x1002856b.1862
lea esi, [edi + 0xd]
mov dword [esp + 0x24], eax
or ebx, 0xffffffff
push edi
lea ecx, [esp + 0x24]
call sub.mfc42.dll_CString::CString_1
mov bp, word [esi - 2]
push esi
lea ecx, [esp + 0x64]
mov dword [esp + 0x54], 6
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 7
call fcn.10004b50
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call sub.mfc42.dll_CString::CString_1
push ebp
lea ecx, [esp + 0x28]
mov byte [esp + 0x58], 8
call fcn.10004b50
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.mfc42.dll_CString::CString_1
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x5c], 7
call fcn.100613e0
lea ecx, [esp + 0x60]
add edi, 0x16
add esi, 0x16
mov byte [esp + 0x50], 6
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x20]
mov dword [esp + 0x50], ebx
call sub.mfc42.dll_CString::CString
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
jne 0x10028893
jmp case.0x1002856b.1862
lea edi, [esi + 0x90c40]
mov ecx, edi
call fcn.1004c310
mov esi, dword [esp + 0x60]
mov al, byte [esi]
inc esi
mov byte [esp + 0x60], al
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, edi
call fcn.1004d140
push esi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
mov dword [esp + 0x58], 9
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.1004d230
mov al, byte [esi + 0xb]
add esi, 0xb
movsx eax, al
inc esi
test eax, eax
jle 0x100289a7
mov ebx, eax
mov al, byte [esi]
mov byte [esp + 0x60], al
mov ecx, dword [esp + 0x60]
and ecx, 0xff
push ecx
mov ecx, edi
call fcn.1004d210
inc esi
dec ebx
jne 0x1002898b
mov edx, dword [esp + 0x58]
mov eax, dword [edx - 8]
test eax, eax
jne 0x100289b6
push 0
jmp 0x100289b8
push 1
mov ecx, edi
call fcn.1004cfe0
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x1002a1e5
mov edi, dword [esp + 0x60]
mov ax, word [edi]
mov cx, word [edi + 2]
add edi, 2
mov word [esp + 0x60], ax
add edi, 2
mov word [esp + 0x28], cx
mov ax, word [edi]
add edi, 2
movsx ebp, ax
test ebp, ebp
jle 0x10028a3e
or ebx, 0xffffffff
push edi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov dword [esp + 0x58], 0xa
call sub.mfc42.dll_CString::CString_3
push 1
lea ecx, [esi + 0x91d6c]
call fcn.1005c1a0
lea ecx, [esp + 0x58]
add edi, 0x11
mov dword [esp + 0x50], ebx
call sub.mfc42.dll_CString::CString
dec ebp
jne 0x100289fb
movsx eax, word [esp + 0x60]
movsx ecx, word [esp + 0x28]
push eax
push ecx
lea ecx, [esi + 0x91d6c]
call fcn.1005c070
jmp case.0x1002856b.1862
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x58]
push edx
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
mov dword [esp + 0x58], 0xb
call sub.mfc42.dll_CString::CString_3
push 1
lea ecx, [esi + 0x91d6c]
call fcn.1005c1a0
push 0
push 0x19a
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x1002a1e5
mov ecx, dword [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
mov dword [esp + 0x58], 0xc
call sub.mfc42.dll_CString::CString_3
push 0
lea ecx, [esi + 0x91d6c]
call fcn.1005c1a0
push 0
push 0x19b
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x1002a1e5
push 0
lea ecx, [esi + 0x91d6c]
call fcn.1005c0b0
push 0
push 0x19c
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
lea ecx, [esi + 0x8ea4c]
call fcn.1005f750
push 0
push 0x19d
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x20]
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
lea ecx, [esp + 0x60]
push edi
mov dword [esp + 0x54], 0xd
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0xe
call sub.mfc42.dll_CString::CString_2
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov bl, 0xf
push 0x157
push 0
mov byte [esp + 0x60], bl
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
lea edx, [esp + 0x60]
push eax
push edx
call sub.mfc42.dll_CString::Format
push 4
call sub.mfc42.dll_operatornew
add esp, 0x14
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x50], 0x10
je 0x10028c23
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call sub.mfc42.dll_CString::CString_3
jmp 0x10028c25
xor eax, eax
push 0
push 0
push 0
push 0
push 0
push eax
push 0x1b
push ecx
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
mov byte [esp + 0x74], bl
call sub.mfc42.dll_CString::CString_3
mov ecx, esi
call fcn.10019f50
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0xe
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0xd
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x20]
jmp 0x1002a1e5
push 0
push 0
push 0
push 0
push 0
push 0
push 0x19
push 0x101
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.mfc42.dll_CString::CString_1
mov ecx, esi
call fcn.10019f50
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov cl, byte [eax]
mov byte [esp + 0x58], cl
mov edx, dword [esp + 0x58]
push edx
lea ecx, [esi + 0x92ee8]
call fcn.10054900
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov cl, byte [eax]
inc eax
mov byte [esp + 0x60], cl
push eax
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov dword [esp + 0x58], 0x11
call sub.mfc42.dll_CString::CString_3
mov eax, dword [esp + 0x64]
lea ecx, [esi + 0xa4cf0]
push eax
call fcn.1005a9c0
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x1002a1e5
lea ecx, [esi + 0xa4cf0]
call fcn.1005aa60
push 0
push 0x19e
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
mov ecx, dword [esp + 0x60]
mov dl, byte [ecx]
lea ecx, [esi + 0x943f0]
mov byte [esp + 0x58], dl
mov eax, dword [esp + 0x58]
push eax
call fcn.10058b80
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x20]
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
lea ecx, [esp + 0x60]
push edi
mov dword [esp + 0x54], 0x12
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x64]
mov bl, 0x13
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], bl
call sub.mfc42.dll_CString::CString_3
lea edi, [esi + 0x9820c]
mov ecx, edi
call fcn.100468f0
push 1
mov ecx, edi
call fcn.100466c0
lea ecx, [esp + 0x58]
call sub.mfc42.dll_CString::CString_2
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
mov edi, dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
push eax
push ecx
push 0x195
push 0
mov byte [esp + 0x60], 0x14
call edi
add esp, 8
lea edx, [esp + 0x60]
push eax
push edx
call sub.mfc42.dll_CString::Format
add esp, 0x10
lea eax, [esp + 0x58]
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call sub.mfc42.dll_CString::CString_3
push 6
mov ecx, esi
call fcn.1001be90
push 0x197
push 0
call edi
add esp, 8
lea ecx, [esp + 0x58]
push eax
push ecx
call sub.mfc42.dll_CString::Format
add esp, 8
lea edx, [esp + 0x58]
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call sub.mfc42.dll_CString::CString_3
push 6
mov ecx, esi
call fcn.1001be90
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], bl
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x12
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x20]
jmp 0x1002a1e5
mov eax, dword [esp + 0x60]
mov al, byte [eax]
cmp al, 2
jne 0x10028ebc
lea ecx, [esi + 0x94ed0]
call fcn.10041cd0
push 0
push 0x19f
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
cmp al, 1
jne case.0x1002856b.1862
push 0
push 0x1a0
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x1c]
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
mov ebx, 0x15
push edi
lea ecx, [esp + 0x64]
mov dword [esp + 0x54], ebx
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], 0x16
call sub.mfc42.dll_CString::CString_3
lea edi, [esi + 0x9820c]
mov ecx, edi
call fcn.10046940
push ecx
lea eax, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.100468f0
push 0
mov ecx, edi
call fcn.100466c0
lea ecx, [esp + 0x58]
call sub.mfc42.dll_CString::CString_2
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
mov edi, dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
push ecx
push edx
push 0x196
push 0
mov byte [esp + 0x60], 0x17
call edi
add esp, 8
push eax
lea eax, [esp + 0x64]
push eax
call sub.mfc42.dll_CString::Format
add esp, 0x10
lea edx, [esp + 0x58]
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call sub.mfc42.dll_CString::CString_3
push 6
mov ecx, esi
call fcn.1001be90
push 0x197
push 0
call edi
add esp, 8
push eax
lea eax, [esp + 0x5c]
push eax
call sub.mfc42.dll_CString::Format
add esp, 8
lea edx, [esp + 0x58]
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call sub.mfc42.dll_CString::CString_3
push 6
mov ecx, esi
call fcn.1001be90
mov byte [esp + 0x50], 0x16
lea ecx, [esp + 0x58]
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], bl
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x1c]
jmp 0x1002a1e5
lea ecx, [esi + 0x9585c]
call fcn.1005dc80
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
lea ecx, [esi + 0x9585c]
mov eax, dword [eax]
push eax
call fcn.1005dd00
jmp case.0x1002856b.1862
push 0
lea ecx, [esi + 0x9585c]
call fcn.1005dbd0
push 0
push 0x1a1
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
push 1
push 1
lea ecx, [esi + 0xa42b4]
call fcn.1004bdc0
jmp case.0x1002856b.1862
push 0
lea ecx, [esi + 0xa42b4]
call fcn.1004be00
push 0
push 0x198
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
push 1
lea ecx, [esi + 0x9a5e4]
call fcn.10047490
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x60]
push edi
call sub.mfc42.dll_CString::CString_1
lea ecx, [edi + 0xb]
mov dword [esp + 0x50], 0x18
push ecx
lea ecx, [esp + 0x20]
call sub.mfc42.dll_CString::CString_1
mov edx, dword [edi + 0x1c]
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x19
mov dword [esp + 0x20], edx
call sub.mfc42.dll_CString::CString_2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
mov bl, 0x1a
push 0x15b
push 0
mov byte [esp + 0x64], bl
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
push eax
lea eax, [esp + 0x68]
push eax
call sub.mfc42.dll_CString::Format
push 4
call sub.mfc42.dll_operatornew
add esp, 0x18
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x50], 0x1b
je 0x1002915a
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call sub.mfc42.dll_CString::CString_3
jmp 0x1002915c
xor eax, eax
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push 0
push edx
push eax
push 0x1c
push ecx
lea eax, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0x74], bl
call sub.mfc42.dll_CString::CString_3
mov ecx, esi
call fcn.10019f50
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x19
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 0x18
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x60]
jmp 0x1002a1e5
push 1
lea ecx, [esi + 0x9b01c]
call fcn.1004a4a0
jmp case.0x1002856b.1862
lea ecx, [esi + 0x9b01c]
call fcn.1004a4c0
push 0
push 0x1a2
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
mov ecx, dword [esp + 0x60]
movsx edx, byte [ecx]
push edx
lea ecx, [esi + 0x9b7a0]
call fcn.10059600
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x58]
push edi
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
mov dword [esp + 0x58], 0x1c
call sub.mfc42.dll_CString::CString_3
lea ebx, [esi + 0x9d8c0]
mov ecx, ebx
call fcn.1006bb80
mov al, byte [edi + 0xb]
add edi, 0xb
test al, al
jne 0x1002925c
push 0
push 0
mov ecx, ebx
call fcn.1006b870
jmp 0x1002929d
movsx eax, al
inc edi
test eax, eax
jle 0x10029290
lea ebp, [esi + 0x9cc4c]
mov ebx, eax
mov dl, byte [edi + 1]
mov cl, byte [edi]
mov byte [esp + 0x60], dl
mov eax, dword [esp + 0x60]
mov byte [esp + 0x28], cl
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov ecx, ebp
call fcn.1006a0b0
add edi, 2
dec ebx
jne 0x1002926c
push 1
lea ecx, [esi + 0x9cc4c]
call fcn.1006a030
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x1002a1e5
lea ecx, [esi + 0x9d8c0]
call fcn.1006ba90
push 0
push 0x1a3
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
push 0
push 0
push 0
push 0
push 0
push 0
push 0x1d
push 0
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.mfc42.dll_CString::CString_1
mov ecx, esi
call fcn.10019f50
jmp case.0x1002856b.1862
lea ebp, [esi + 0x9f940]
mov ecx, ebp
call fcn.10052380
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x20]
add edi, 2
push edi
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
mov dword [esp + 0x58], 0x1d
add edi, 0x11
call sub.mfc42.dll_CString::CString_3
push 0
mov ecx, ebp
call fcn.10052430
mov ax, word [edi]
add edi, 2
movsx eax, ax
test eax, eax
jle 0x100293a7
mov ebx, eax
push edi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
mov byte [esp + 0x58], 0x1e
call sub.mfc42.dll_CString::CString_3
push 1
mov ecx, ebp
call fcn.10052430
lea ecx, [esp + 0x58]
add edi, 0x11
mov byte [esp + 0x50], 0x1d
call sub.mfc42.dll_CString::CString
dec ebx
jne 0x1002936a
mov ax, word [edi]
add edi, 2
movsx ebx, ax
test ebx, ebx
jle 0x100293f1
push edi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
mov byte [esp + 0x58], 0x1f
call sub.mfc42.dll_CString::CString_3
push 3
mov ecx, ebp
call fcn.10052430
lea ecx, [esp + 0x58]
add edi, 0x11
mov byte [esp + 0x50], 0x1d
call sub.mfc42.dll_CString::CString
dec ebx
jne 0x100293b4
mov ax, word [edi]
add edi, 2
movsx ebx, ax
test ebx, ebx
jle 0x1002943b
push edi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
mov byte [esp + 0x58], 0x20
call sub.mfc42.dll_CString::CString_3
push 4
mov ecx, ebp
call fcn.10052430
lea ecx, [esp + 0x58]
add edi, 0x11
mov byte [esp + 0x50], 0x1d
call sub.mfc42.dll_CString::CString
dec ebx
jne 0x100293fe
mov ecx, ebp
call fcn.100553b0
push 0
push 0x1a9
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x20]
jmp 0x1002a1e5
add esi, 0x9f940
mov ecx, esi
call fcn.10052420
mov edi, dword [esp + 0x60]
mov ax, word [edi]
add edi, 2
movsx ebp, ax
test ebp, ebp
jle case.0x1002856b.1862
or ebx, 0xffffffff
push edi
lea ecx, [esp + 0x5c]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
mov dword [esp + 0x58], 0x21
call sub.mfc42.dll_CString::CString_3
push 2
mov ecx, esi
call fcn.10052430
lea ecx, [esp + 0x58]
add edi, 0x11
mov dword [esp + 0x50], ebx
call sub.mfc42.dll_CString::CString
dec ebp
jne 0x1002949f
jmp case.0x1002856b.1862
push 0
lea ecx, [esi + 0xa42b4]
call fcn.1004be00
push 0
push 0x198
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x20]
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
lea ecx, [esp + 0x58]
push edi
mov dword [esp + 0x54], 0x22
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x23
call sub.mfc42.dll_CString::CString_2
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov bl, 0x24
push 0x15c
push 0
mov byte [esp + 0x60], bl
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
lea edx, [esp + 0x68]
push eax
push edx
call sub.mfc42.dll_CString::Format
push 4
call sub.mfc42.dll_operatornew
add esp, 0x14
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x50], 0x25
je 0x1002959b
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call sub.mfc42.dll_CString::CString_3
push 1
push 2
lea ecx, [esi + 0xa42b4]
mov byte [esp + 0x58], bl
call fcn.1004bdc0
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x23
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x22
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x20]
jmp 0x1002a1e5
lea ecx, [esi + 0xa28ac]
call fcn.100553b0
jmp case.0x1002856b.1862
lea edi, [esi + 0xa9880]
mov ecx, edi
call fcn.10065c80
mov esi, dword [esp + 0x60]
mov al, byte [esi]
inc esi
movsx eax, al
test eax, eax
jle 0x1002962b
mov ebx, eax
mov dl, byte [esi]
mov al, byte [esi + 1]
inc esi
mov byte [esp + 0x58], al
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x60], dl
mov edx, dword [esp + 0x60]
push ecx
push edx
mov ecx, edi
inc esi
call fcn.10065dd0
dec ebx
jne 0x10029608
mov ecx, edi
call fcn.100553b0
jmp case.0x1002856b.1862
lea ecx, [esi + 0xa3184]
call fcn.100553b0
jmp case.0x1002856b.1862
lea edi, [esi + 0xa3854]
mov ecx, edi
call fcn.100553b0
mov esi, dword [esp + 0x60]
xor ebx, ebx
mov eax, dword [esi]
add esi, 4
push eax
mov al, bl
inc al
mov ecx, edi
push eax
call fcn.10045650
inc ebx
cmp ebx, 3
jl 0x1002965a
jmp case.0x1002856b.1862
lea ecx, [esi + 0xa5608]
call fcn.100553b0
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov cl, byte [eax]
mov eax, dword [eax + 1]
mov byte [esp + 0x58], cl
mov edx, dword [esp + 0x58]
push eax
push edx
lea ecx, [esi + 0xa3854]
call fcn.10045650
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov cl, byte [eax]
inc eax
mov byte [esp + 0x58], cl
mov edx, dword [eax]
mov dword [esp + 0x38], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x38]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x5c]
mov eax, dword [eax + 0xc]
and edx, 0xff
push edx
lea ecx, [esi + 0xa5608]
mov dword [esp + 0x4c], eax
call fcn.10064490
jmp case.0x1002856b.1862
mov eax, dword [esi + 0x821c0]
lea edi, [esi + 0x821c0]
push 5
mov ecx, edi
call dword [eax + 0xc4]
mov ecx, edi
call fcn.1003ff50
mov esi, dword [esp + 0x60]
mov al, byte [esi]
inc esi
test al, al
jne 0x1002975a
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x100c6b64
call sub.mfc42.dll_CString::CString_1
push ecx
mov dword [esp + 0x58], 0x26
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x100c6b64
call sub.mfc42.dll_CString::CString_1
push 0
push 0
mov ecx, edi
mov dword [esp + 0x60], 0xffffffff
call fcn.10040250
jmp case.0x1002856b.1862
cmp al, 1
jne 0x100297d8
push esi
lea ecx, [esp + 0x64]
call sub.mfc42.dll_CString::CString_1
add esi, 0xb
lea ecx, [esp + 0x58]
push esi
mov dword [esp + 0x54], 0x27
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x5c]
mov bl, 0x28
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], bl
call sub.mfc42.dll_CString::CString_3
push ecx
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x5c], 0x29
call sub.mfc42.dll_CString::CString_3
push 0
push 1
mov ecx, edi
mov byte [esp + 0x60], bl
call fcn.10040250
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x27
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x60]
jmp 0x1002a1e5
cmp al, 2
jne case.0x1002856b.1862
mov cl, byte [esi]
inc esi
mov byte [esp + 0x30], cl
push esi
lea ecx, [esp + 0x2c]
call sub.mfc42.dll_CString::CString_1
add esi, 0xb
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x54], 0x2a
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], 0x2b
add esi, 0x11
call sub.mfc42.dll_CString::CString_3
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov byte [esp + 0x5c], 0x2c
call sub.mfc42.dll_CString::CString_3
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x58], 0x2b
and ecx, 0xff
push ecx
push 2
mov ecx, edi
call fcn.10040250
push esi
lea ecx, [esp + 0x18]
call sub.mfc42.dll_CString::CString_1
add esi, 0xb
lea ecx, [esp + 0x18]
push esi
mov byte [esp + 0x54], 0x2d
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], 0x2e
add esi, 0x11
call sub.mfc42.dll_CString::CString_3
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x5c], 0x2f
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
mov byte [esp + 0x58], 0x2e
call fcn.10040440
mov bl, byte [esi]
lea ecx, [esp + 0x60]
inc esi
call sub.mfc42.dll_CString::CString_2
movsx ebx, bl
xor ebp, ebp
mov byte [esp + 0x50], 0x30
test ebx, ebx
jle 0x100298fb
mov cl, byte [esi]
inc esi
mov byte [esp + 0x30], cl
push esi
lea ecx, [esp + 0x64]
call fcn.1009d18c
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call sub.mfc42.dll_CString::CString_3
mov eax, dword [esp + 0x34]
mov ecx, edi
and eax, 0xff
push eax
push ebp
call fcn.10040570
add esi, 0xb
inc ebp
cmp ebp, ebx
jl 0x100298bf
push esi
lea ecx, [esp + 0x20]
call sub.mfc42.dll_CString::CString_1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x58], 0x31
add esi, 0x3e
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.10040630
push esi
lea ecx, [esp + 0x24]
call sub.mfc42.dll_CString::CString_1
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x58], 0x32
add esi, 0x3e
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.10040690
mov cl, byte [esi]
inc esi
mov byte [esp + 0x30], cl
mov edx, dword [esp + 0x30]
push edx
mov ecx, edi
call fcn.100406f0
mov al, byte [esi]
inc esi
mov byte [esp + 0x24], al
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.100408c0
mov bl, byte [esi]
lea ecx, [esp + 0x58]
inc esi
call sub.mfc42.dll_CString::CString_2
movsx ebx, bl
xor ebp, ebp
mov byte [esp + 0x50], 0x33
test ebx, ebx
jle 0x100299cc
mov dl, byte [esi]
inc esi
push esi
lea ecx, [esp + 0x5c]
mov byte [esp + 0x34], dl
call fcn.1009d18c
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call sub.mfc42.dll_CString::CString_3
mov ecx, dword [esp + 0x34]
and ecx, 0xff
push ecx
push ebp
mov ecx, edi
call fcn.100409f0
add esi, 0xb
inc ebp
cmp ebp, ebx
jl 0x1002998f
mov dl, byte [esi]
mov al, byte [esi + 1]
mov bl, byte [esp + 0x24]
inc esi
inc esi
mov byte [esp + 0x34], dl
test bl, bl
mov byte [esp + 0x30], al
jne 0x100299e9
push 0x64
push 0x64
jmp 0x100299f3
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push ecx
push edx
mov ecx, edi
call fcn.10040ab0
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp bl, 2
jne 0x10029a0d
push esi
push eax
mov ecx, edi
call fcn.10040d10
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x32
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0x31
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 0x30
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x2e
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 0x2d
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0x2b
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 0x2a
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x28]
jmp 0x1002a1e5
mov eax, dword [esp + 0x60]
mov al, byte [eax]
cmp al, 1
jne 0x10029a9c
push 1
lea ecx, [esi + 0x94ed0]
call fcn.10041d90
jmp case.0x1002856b.1862
cmp al, 2
jne case.0x1002856b.1862
push 2
lea ecx, [esi + 0x94ed0]
call fcn.10041d90
jmp case.0x1002856b.1862
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x1c]
mov bl, byte [edi]
inc edi
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
lea ecx, [esp + 0x60]
push edi
mov dword [esp + 0x54], 0x34
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x35
add edi, 0x11
call sub.mfc42.dll_CString::CString_2
push 4
mov byte [esp + 0x54], 0x36
call sub.mfc42.dll_operatornew
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x50], 0x37
je 0x10029b19
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call sub.mfc42.dll_CString::CString_3
mov ebp, eax
jmp 0x10029b1b
xor ebp, ebp
cmp bl, 1
mov byte [esp + 0x50], 0x36
jne 0x10029b63
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
push edx
push eax
push 0x158
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
lea ecx, [esp + 0x60]
push eax
push ecx
call sub.mfc42.dll_CString::Format
add esp, 0x10
push 0
push 0
push 0
push 0
push 0
push ebp
push 0x1e
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
jmp 0x10029bae
cmp bl, 2
jne 0x10029bbf
mov edi, dword [edi]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
push edi
push eax
push ecx
push 0x15a
push 0
mov dword [esp + 0x48], edi
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
lea edx, [esp + 0x64]
push eax
push edx
call sub.mfc42.dll_CString::Format
add esp, 0x14
lea eax, [esp + 0x34]
push 0
push 0
push 0
push 0
push eax
push ebp
push 0x1f
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
lea edx, [esp + 0x78]
push edx
call sub.mfc42.dll_CString::CString_3
mov ecx, esi
call fcn.10019f50
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x35
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x34
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x1c]
jmp 0x1002a1e5
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x28]
push edi
call sub.mfc42.dll_CString::CString_1
add edi, 0xb
lea ecx, [esp + 0x60]
push edi
mov dword [esp + 0x54], 0x38
call sub.mfc42.dll_CString::CString_1
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x39
call sub.mfc42.dll_CString::CString_2
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov bl, 0x3a
push 0x159
push 0
mov byte [esp + 0x60], bl
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 8
lea edx, [esp + 0x60]
push eax
push edx
call sub.mfc42.dll_CString::Format
push 4
call sub.mfc42.dll_operatornew
add esp, 0x14
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x50], 0x3b
je 0x10029c6d
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call sub.mfc42.dll_CString::CString_3
jmp 0x10029c6f
xor eax, eax
push 0
push 0
push 0
push 0
push 0
push eax
push 0x20
push ecx
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
mov byte [esp + 0x74], bl
call sub.mfc42.dll_CString::CString_3
mov ecx, esi
call fcn.10019f50
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 0x39
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x50], 0x38
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x28]
jmp 0x1002a1e5
lea ecx, [esi + 0xa5ad8]
mov dword [esp + 0x20], ecx
call fcn.10043c40
lea ecx, [esp + 0x1c]
call sub.mfc42.dll_CString::CString_2
lea ecx, [esp + 0x18]
mov dword [esp + 0x50], 0x3c
call sub.mfc42.dll_CString::CString_2
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 0x3d
mov bl, byte [esi]
inc esi
push esi
mov byte [esp + 0x64], bl
call fcn.1009d18c
add esi, 0xb
lea ecx, [esp + 0x18]
push esi
call fcn.1009d18c
mov al, byte [esi + 0x11]
add esi, 0x11
inc esi
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], al
mov bp, word [esi]
add esi, 2
call sub.mfc42.dll_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0x3e
call sub.mfc42.dll_CString::CString_2
mov edi, dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
mov byte [esp + 0x50], 0x3f
test bl, bl
je 0x10029e2b
mov al, byte [esp + 0x58]
test al, al
jne 0x10029d6c
push 0x161
push 0
call edi
add esp, 8
lea ecx, [esp + 0x10]
push eax
push ecx
jmp 0x10029dd7
cmp al, 1
jne 0x10029d90
movsx edx, bp
push edx
push 0x162
push 0
call edi
add esp, 8
push eax
lea eax, [esp + 0x18]
push eax
call sub.mfc42.dll_CString::Format
add esp, 0xc
jmp 0x10029ddf
cmp al, 2
jne 0x10029dc1
movsx ecx, bp
push 0x3c
push ecx
call dword [sym.imp.msvcrt.dll_div]
add esp, 8
push edx
push eax
push 0x163
push 0
call edi
add esp, 8
lea edx, [esp + 0x18]
push eax
push edx
call sub.mfc42.dll_CString::Format
add esp, 0x10
jmp 0x10029ddf
cmp al, 3
jne 0x10029ddf
push 0x164
push 0
call edi
add esp, 8
push eax
lea eax, [esp + 0x14]
push eax
call sub.mfc42.dll_CString::Format
add esp, 8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
push 0x168
push 0
call edi
add esp, 8
lea ecx, [esp + 0x20]
push eax
push ecx
call sub.mfc42.dll_CString::Format
add esp, 0x10
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call sub.mfc42.dll_CString::CString_3
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
and eax, 0xff
push eax
call fcn.10043d90
mov ebp, 1
mov bl, byte [esi]
inc esi
push esi
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], bl
call fcn.1009d18c
add esi, 0xb
lea ecx, [esp + 0x18]
push esi
call fcn.1009d18c
mov cl, byte [esi + 0x11]
add esi, 0x11
inc esi
mov ax, word [esi]
add esi, 2
test bl, bl
je 0x10029f3f
test cl, cl
jne 0x10029e7b
push 0x161
push 0
call edi
add esp, 8
lea ecx, [esp + 0x10]
push eax
push ecx
jmp 0x10029ee9
cmp cl, 1
jne 0x10029ea0
movsx edx, ax
push edx
push 0x162
push 0
call edi
add esp, 8
push eax
lea eax, [esp + 0x18]
push eax
call sub.mfc42.dll_CString::Format
add esp, 0xc
jmp 0x10029ef1
cmp cl, 2
jne 0x10029ed2
movsx ecx, ax
push 0x3c
push ecx
call dword [sym.imp.msvcrt.dll_div]
add esp, 8
push edx
push eax
push 0x163
push 0
call edi
add esp, 8
lea edx, [esp + 0x18]
push eax
push edx
call sub.mfc42.dll_CString::Format
add esp, 0x10
jmp 0x10029ef1
cmp cl, 3
jne 0x10029ef1
push 0x164
push 0
call edi
add esp, 8
push eax
lea eax, [esp + 0x14]
push eax
call sub.mfc42.dll_CString::Format
add esp, 8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
push ebp
push 0x160
push 0
call edi
add esp, 8
lea ecx, [esp + 0x24]
push eax
push ecx
call sub.mfc42.dll_CString::Format
add esp, 0x14
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call sub.mfc42.dll_CString::CString_3
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
and eax, 0xff
push eax
push ebp
call fcn.10043e00
inc ebp
lea ecx, [ebp - 1]
cmp ecx, 0x14
jl 0x10029e30
mov ecx, dword [esp + 0x20]
call fcn.100553b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0x3e
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 0x3d
call sub.mfc42.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 0x3c
call sub.mfc42.dll_CString::CString
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x1c]
jmp 0x1002a1e5
mov eax, dword [esp + 0x60]
mov dl, byte [eax]
mov ecx, dword [eax + 1]
inc eax
mov byte [esp + 0x58], dl
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push eax
lea ecx, [esi + 0xa8e44]
call fcn.10044af0
jmp case.0x1002856b.1862
push 0
push 0
push 0
push 0
push 0
push 0
push 0x26
push 0x67
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call sub.mfc42.dll_CString::CString_1
mov ecx, esi
call fcn.10019f50
jmp case.0x1002856b.1862
mov ecx, dword [esp + 0x60]
mov al, byte [ecx]
test al, al
jne 0x1002a02e
push 0
lea ecx, [esi + 0xb0850]
call fcn.10066e20
push 0
push 0x15e
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
cmp al, 1
jne case.0x1002856b.1862
push 1
lea ecx, [esi + 0xb0850]
call fcn.10066e20
push 0
push 0x15f
push 0
call dword [sym.imp.message.dll_char_const____cdecl_MESSAGEGetString_int__int_]
add esp, 4
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call sub.mfc42.dll_CString::CString_1
push 6
mov ecx, esi
call fcn.1001be90
jmp case.0x1002856b.1862
lea ecx, [esi + 0xaad38]
call fcn.100553b0
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov dl, byte [eax]
mov cl, byte [eax + 1]
inc eax
mov byte [esp + 0x34], dl
inc eax
mov byte [esp + 0x60], cl
mov ecx, dword [esp + 0x60]
mov dl, byte [eax]
mov eax, dword [eax + 1]
mov byte [esp + 0x58], dl
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x5c]
push eax
push ecx
push edx
lea ecx, [esi + 0xac0f0]
call fcn.1004dbe0
jmp case.0x1002856b.1862
lea edi, [esi + 0xacd5c]
mov esi, dword [esp + 0x60]
xor ebx, ebx
mov al, byte [esi]
mov dl, bl
mov byte [esp + 0x58], al
mov ecx, dword [esp + 0x58]
inc esi
inc dl
push ecx
push edx
mov ecx, edi
call fcn.1004f2c0
inc ebx
cmp ebx, 8
jl 0x1002a0c7
mov esi, dword [esi]
mov ecx, edi
push esi
call fcn.1004f440
mov ecx, edi
call fcn.100553b0
jmp case.0x1002856b.1862
lea ecx, [esi + 0xae17c]
call fcn.100553b0
jmp case.0x1002856b.1862
lea edi, [esi + 0xaee64]
mov ecx, edi
call fcn.100553b0
mov esi, dword [esp + 0x60]
xor ebx, ebx
mov eax, dword [esi]
add esi, 4
push eax
mov al, bl
inc al
mov ecx, edi
push eax
call fcn.100484f0
inc ebx
cmp ebx, 0xa
jl 0x1002a11e
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
mov cl, byte [eax]
mov eax, dword [eax + 1]
mov byte [esp + 0x58], cl
mov edx, dword [esp + 0x58]
push eax
push edx
lea ecx, [esi + 0xaee64]
call fcn.100484f0
jmp case.0x1002856b.1862
mov eax, dword [esp + 0x60]
movsx ecx, byte [eax]
push ecx
push 0
push 2
lea ecx, [esi + 0xaa380]
call fcn.10064f60
jmp case.0x1002856b.1862
lea edi, [esi + 0x9c078]
mov ecx, edi
call fcn.10068f90
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x24]
mov bx, word [esi]
add esi, 2
call sub.mfc42.dll_CString::CString_2
movsx eax, bx
test eax, eax
mov dword [esp + 0x50], 0x40
jle 0x1002a1d0
mov ebx, eax
push esi
lea ecx, [esp + 0x28]
call fcn.1009d18c
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call sub.mfc42.dll_CString::CString_3
mov ecx, edi
call fcn.100691a0
add esi, 0xb
dec ebx
jne 0x1002a1a8
push 1
mov ecx, edi
call fcn.10068f40
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x24]
call sub.mfc42.dll_CString::CString
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x44
ret 0xc