Function at 0x43e090
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x55f9bd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push ebp
mov dword [esp + 0x60], ecx
push esi
push edi
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x40]
mov dword [esp + 0xb0], 0
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x50]
mov byte [esp + 0xb0], 1
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x44]
mov byte [esp + 0xb0], 2
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x70]
mov byte [esp + 0xb0], 3
call fcn.004198d0
push 0x5c02c8
lea ecx, [esp + 0x74]
mov byte [esp + 0xb4], 4
call fcn.0041bb90
mov edi, dword [esp + 0xb8]
push 6
lea eax, [esp + 0x18]
push 0
lea esi, [edi + 0x370]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov ebp, eax
add edi, 0x36c
lea ecx, [esp + 0x20]
push edi
push 0x5b639c
push ecx
mov byte [esp + 0xbc], 5
call sub.MFC42.DLL_operator_2
push 0x5b6398
lea edx, [esp + 0x28]
push eax
push edx
mov byte [esp + 0xbc], 6
call sub.MFC42.DLL_operator_4
push 0x5c031c
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0xb8], 7
push eax
call sub.MFC42.DLL_operator_3
push 0x5b6394
lea ecx, [esp + 0x40]
push eax
push ecx
mov byte [esp + 0xbc], 8
call sub.MFC42.DLL_operator_4
push ebp
lea edx, [esp + 0x30]
push eax
push edx
mov byte [esp + 0xbc], 9
call sub.MFC42.DLL_operator_3
push 0x5b63e8
push eax
lea eax, [esp + 0x3c]
mov bl, 0xa
push eax
mov byte [esp + 0xbc], bl
call sub.MFC42.DLL_operator_4
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xb4], 0xb
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x34]
mov byte [esp + 0xb0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb0], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb0], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 4
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0xb8]
mov ecx, ebx
call fcn.004d0970
mov eax, dword [ebx + 0x38c]
test eax, eax
jne 0x43e5e9
mov eax, dword [ebx + 0x390]
test eax, eax
jne 0x43e5e9
lea ecx, [esp + 0x40]
lea edx, [esp + 0x28]
push ecx
push str.Select__from
push edx
call sub.MFC42.DLL_operator_2
push 0x5b85b0
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0xb8], 0xc
push eax
call sub.MFC42.DLL_operator_4
add ebx, 0x37c
lea ecx, [esp + 0x20]
push ebx
push eax
push ecx
mov byte [esp + 0xbc], 0xd
call sub.MFC42.DLL_operator_3
push 0x5b6f98
lea edx, [esp + 0x18]
mov bl, 0xe
push eax
push edx
mov byte [esp + 0xbc], bl
call sub.MFC42.DLL_operator_4
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], 0xf
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 4
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x4c]
push 1
push 1
push 3
push eax
lea ecx, [esp + 0x80]
call fcn.00419ae0
test eax, eax
jne 0x43e4e5
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString_3
push 2
lea ecx, [esp + 0x1c]
push 4
push ecx
mov ecx, esi
mov byte [esp + 0xbc], 0x10
call sub.MFC42.DLL_CString::Mid_1
mov ebp, eax
push 4
lea edx, [esp + 0x20]
push 0
push edx
mov ecx, esi
mov byte [esp + 0xbc], 0x11
call sub.MFC42.DLL_CString::Mid_1
push 0x5b85ac
push eax
lea eax, [esp + 0x3c]
mov byte [esp + 0xb8], 0x12
push eax
call sub.MFC42.DLL_operator_4
push ebp
lea ecx, [esp + 0x40]
push eax
push ecx
mov byte [esp + 0xbc], 0x13
call sub.MFC42.DLL_operator_3
push 0x5b85a8
lea edx, [esp + 0x2c]
push eax
push edx
mov byte [esp + 0xbc], 0x14
call sub.MFC42.DLL_operator_4
mov ecx, dword [esp + 0xb8]
lea edx, [esp + 0x24]
add ecx, 0x380
mov byte [esp + 0xb0], 0x15
push ecx
push eax
push edx
call sub.MFC42.DLL_operator_3
push edi
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0xb8], 0x16
push eax
call sub.MFC42.DLL_operator_3
push 0x5b8594
lea ecx, [esp + 0x18]
mov bl, 0x17
push eax
push ecx
mov byte [esp + 0xbc], bl
call sub.MFC42.DLL_operator_4
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xb4], 0x18
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 0x16
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 0x15
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 0x14
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb0], 0x13
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0xb0], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 0x10
call sub.MFC42.DLL_CString::CString
push 0x2010
push 0x5b6164
push 0x64
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [esp + 0xb0], 4
lea ecx, [esp + 0x2c]
jmp 0x43efab
lea ecx, [esp + 0x70]
call fcn.0041a3a0
test eax, eax
jne 0x43e5e2
lea edx, [esp + 0x50]
lea ecx, [esp + 0x70]
push edx
push str.UnitNo
call fcn.0041b5b0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x70]
push eax
push str.Line
call fcn.0041b140
lea ecx, [esp + 0x5c]
push ecx
push 0x5b63c4
lea ecx, [esp + 0x78]
call fcn.0041b140
lea edx, [esp + 0x44]
lea ecx, [esp + 0x70]
push edx
push str.Data
call fcn.0041b5b0
mov ebp, dword [esp + 0xb8]
xor edi, edi
mov eax, dword [ebp + 0x340]
lea ecx, [eax - 1]
test ecx, ecx
jl 0x43e5c8
mov edx, dword [ebp + 0x33c]
mov ecx, dword [edx]
mov ebx, dword [ecx + 0x58]
cmp ebx, dword [esp + 0x58]
jne 0x43e572
mov ebx, dword [esp + 0x5c]
cmp dword [ecx + 0x5c], ebx
je 0x43e57f
inc edi
lea ecx, [eax - 1]
add edx, 4
cmp edi, ecx
jle 0x43e55e
jmp 0x43e5c8
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x1c]
push eax
call fcn.004bd7e0
add esp, 8
mov ecx, dword [ebp + 0x33c]
push eax
mov byte [esp + 0xb4], 0x19
mov edi, dword [ecx + edi*4]
lea ecx, [edi + 0x50]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x70]
call fcn.0041a0d0
lea ecx, [esp + 0x70]
call fcn.0041a3a0
test eax, eax
je 0x43e4f6
mov ebx, dword [esp + 0xb8]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov byte [esp + 0xb0], 0x1a
call sub.MFC42.DLL_CString::CString_3
lea edi, [ebx + 0x368]
push 0x5b61e8
mov ecx, edi
mov byte [esp + 0xb4], 0x1b
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jge 0x43e639
push 0x5b61e4
mov ecx, edi
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jl 0x43e7a3
mov edx, dword [edi]
mov eax, dword [edx - 8]
add eax, 0xfffffffe
cmp ebp, eax
jge 0x43e71c
lea eax, [ebp + 2]
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Mid
mov ebx, eax
push 4
lea edx, [esp + 0x28]
push 0
push edx
mov ecx, esi
mov byte [esp + 0xbc], 0x1c
call sub.MFC42.DLL_CString::Mid_1
mov dword [esp + 0x18], eax
push ebp
lea eax, [esp + 0x24]
push 0
push eax
mov ecx, edi
mov byte [esp + 0xbc], 0x1d
call sub.MFC42.DLL_CString::Mid_1
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push eax
push edx
mov byte [esp + 0xbc], 0x1e
call sub.MFC42.DLL_operator_3
push ebx
push eax
lea eax, [esp + 0x24]
mov byte [esp + 0xb8], 0x1f
push eax
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x20
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x1f
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 0x1e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 0x1d
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 0x1c
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x28]
jmp 0x43e797
push 4
lea ecx, [esp + 0x18]
push 0
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov ebx, eax
push ebp
lea edx, [esp + 0x20]
push 0
push edx
mov ecx, edi
mov byte [esp + 0xbc], 0x21
call sub.MFC42.DLL_CString::Mid_1
push ebx
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0xb8], 0x22
push eax
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x23
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 0x22
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x21
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0xb8]
push 0x5b61e0
mov ecx, edi
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jge 0x43e7cb
push 0x5b61dc
mov ecx, edi
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jl 0x43e935
mov ecx, dword [edi]
mov eax, dword [ecx - 8]
add eax, 0xfffffffe
cmp ebp, eax
jge 0x43e8ae
lea edx, [ebp + 2]
lea eax, [esp + 0x28]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CString::Mid
mov ebx, eax
push 2
lea ecx, [esp + 0x28]
push 4
push ecx
mov ecx, esi
mov byte [esp + 0xbc], 0x24
call sub.MFC42.DLL_CString::Mid_1
mov dword [esp + 0x18], eax
push ebp
lea edx, [esp + 0x24]
push 0
push edx
mov ecx, edi
mov byte [esp + 0xbc], 0x25
call sub.MFC42.DLL_CString::Mid_1
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push eax
push edx
mov byte [esp + 0xbc], 0x26
call sub.MFC42.DLL_operator_3
push ebx
push eax
lea eax, [esp + 0x24]
mov byte [esp + 0xb8], 0x27
push eax
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x28
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x27
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 0x26
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 0x25
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 0x24
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x28]
jmp 0x43e929
push 2
lea ecx, [esp + 0x18]
push 4
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov ebx, eax
push ebp
lea edx, [esp + 0x20]
push 0
push edx
mov ecx, edi
mov byte [esp + 0xbc], 0x29
call sub.MFC42.DLL_CString::Mid_1
push ebx
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0xb8], 0x2a
push eax
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x2b
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 0x2a
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x29
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0xb8]
push 0x5b61d8
mov ecx, edi
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jge 0x43e95d
push 0x5b61d4
mov ecx, edi
call sub.MFC42.DLL_CString::Find
mov ebp, eax
test ebp, ebp
jl 0x43ea85
mov ecx, dword [edi]
mov eax, dword [ecx - 8]
add eax, 0xfffffffe
cmp ebp, eax
jge 0x43ea1c
lea edx, [ebp + 2]
lea eax, [esp + 0x20]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CString::Mid
mov ebx, eax
push ebp
lea ecx, [esp + 0x18]
push 0
push ecx
mov ecx, edi
mov byte [esp + 0xbc], 0x2c
call sub.MFC42.DLL_CString::Mid_1
mov edx, dword [esp + 0xb8]
mov byte [esp + 0xb0], 0x2d
add edx, 0x380
push edx
push eax
lea eax, [esp + 0x24]
push eax
call sub.MFC42.DLL_operator_3
push ebx
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0xbc], 0x2e
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x2f
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 0x2e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x2d
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 0x2c
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x20]
jmp 0x43ea79
push ebp
lea edx, [esp + 0x20]
push 0
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Mid_1
mov ecx, dword [esp + 0xb8]
lea edx, [esp + 0x18]
add ecx, 0x380
mov bl, 0x30
push ecx
push eax
push edx
mov byte [esp + 0xbc], bl
call sub.MFC42.DLL_operator_3
push eax
mov ecx, edi
mov byte [esp + 0xb4], 0x31
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], bl
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 0x1b
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 0x340]
mov dword [esp + 0x2c], 1
cmp eax, 1
jle 0x43ee5b
mov eax, dword [ebx + 0x33c]
mov ecx, dword [esp + 0x2c]
mov edi, 0x5b61cc
mov ebp, dword [eax + ecx*4]
mov eax, dword [ebp + 0x54]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x43ead5
test cl, cl
je 0x43ead1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x43ead5
add eax, 2
add edi, 2
test cl, cl
jne 0x43eab1
xor eax, eax
jmp 0x43eada
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43ee44
add ebp, 0x50
lea ecx, [esp + 0x30]
push ebp
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x10]
mov ebp, dword [eax - 8]
mov dword [esp + 0x34], ebp
call sub.MFC42.DLL_CString::Empty
xor edi, edi
test ebp, ebp
jle 0x43ee2a
mov ecx, dword [esp + 0x30]
mov al, byte [edi + ecx]
cmp al, 0x3f
jne 0x43ee0f
lea edx, [ebp - 1]
cmp edi, edx
je 0x43ee0f
mov al, byte [edi + ecx + 1]
cmp al, 0x55
je 0x43ed55
cmp al, 0x75
je 0x43ed55
cmp al, 0x59
je 0x43ec37
cmp al, 0x79
je 0x43ec37
cmp al, 0x4d
je 0x43ebcb
cmp al, 0x6d
je 0x43ebcb
cmp al, 0x44
je 0x43eb5f
cmp al, 0x64
jne 0x43ee21
push 1
lea eax, [esp + 0x1c]
push 6
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x3a
call fcn.0055727c
lea ecx, [esp + 0x18]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea ecx, [esp + 0x20]
push 7
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x3b
call fcn.0055727c
lea ecx, [esp + 0x1c]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
inc edi
jmp 0x43ee21
push 1
lea edx, [esp + 0x18]
push 4
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x38
call fcn.0055727c
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea eax, [esp + 0x24]
push 5
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x39
call fcn.0055727c
lea ecx, [esp + 0x20]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
inc edi
jmp 0x43ee21
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
add ecx, 0xfffffffe
test ecx, ecx
jl 0x43ece9
mov eax, dword [eax - 8]
lea ecx, [esp + 0x24]
add eax, 0xfffffffe
push eax
push 0
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x33
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x24]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea edx, [esp + 0x2c]
push 0
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x34
call fcn.0055727c
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea eax, [esp + 0x40]
push 1
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x35
call fcn.0055727c
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea ecx, [esp + 0x64]
push 2
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x36
call fcn.0055727c
lea ecx, [esp + 0x60]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
push 1
lea edx, [esp + 0x70]
push 3
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x37
call fcn.0055727c
lea ecx, [esp + 0x6c]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
inc edi
jmp 0x43ee21
mov eax, dword [ebx + 0x380]
add ebx, 0x380
xor ebp, ebp
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x43edfe
push 0x20
push edi
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::SetAt
lea eax, [edi + 1]
push 0x20
push eax
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::SetAt
mov ecx, dword [esp + 0x34]
lea eax, [edi + ebp]
cmp eax, ecx
jge 0x43edce
mov ecx, dword [esp + 0x30]
cmp byte [eax + ecx], 0x20
jne 0x43edce
mov edx, dword [ebx]
mov al, byte [edx + ebp]
mov byte [esp + 0x64], al
mov ecx, dword [esp + 0x64]
push ecx
lea ecx, [esp + 0x14]
call fcn.00557258
mov edx, dword [ebx]
inc ebp
cmp ebp, dword [edx - 8]
jl 0x43ed6e
mov ebx, dword [esp + 0xb8]
lea edi, [edi + ebp - 1]
mov ebp, dword [esp + 0x34]
jmp 0x43ee21
lea eax, [esp + 0x54]
push ebp
push eax
mov ecx, ebx
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 0x32
call fcn.0055727c
lea ecx, [esp + 0x54]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0xb8]
lea edi, [edi + ebp - 1]
mov ebp, dword [esp + 0x34]
jmp 0x43ee21
mov byte [esp + 0x48], al
mov ecx, dword [esp + 0x48]
push ecx
lea ecx, [esp + 0x14]
call fcn.00557258
inc edi
cmp edi, ebp
jl 0x43eb0d
mov edx, dword [ebx + 0x33c]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
mov eax, dword [edx + eax*4]
push ecx
lea ecx, [eax + 0x50]
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x340]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x43ea9c
mov ecx, ebx
call fcn.004ccdc0
lea ecx, [esp + 0x38]
mov ebx, eax
call sub.MFC42.DLL_CString::CString_3
mov edx, ebx
dec ebx
test edx, edx
mov byte [esp + 0xb0], 0x3c
je 0x43ef7d
mov ecx, dword [esp + 0xb8]
push ebx
call fcn.004ccd90
mov edi, eax
lea ecx, [esp + 0x38]
lea ebp, [edi + 0x50]
push ebp
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [edi + 0x54]
mov esi, 0x5b6224
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43eec8
test cl, cl
je 0x43eec4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43eec8
add eax, 2
add esi, 2
test cl, cl
jne 0x43eea4
xor eax, eax
jmp 0x43eecd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43ef72
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov esi, dword [esp + 0x6c]
mov ecx, esi
call fcn.0043f2f0
test eax, eax
je 0x43ef72
mov eax, dword [esi + 0x58c]
test eax, eax
jne 0x43ef2a
push 0x32
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.MSVCRT.dll_atof]
fcomp qword [0x57f4f0]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x43ef2a
mov ecx, ebp
call sub.MFC42.DLL_CString::Empty
jmp 0x43ef72
mov eax, dword [esi + 0x588]
test eax, eax
je 0x43ef72
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
call fcn.0043f030
push eax
mov ecx, ebp
mov byte [esp + 0xb4], 0x3d
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 0x3c
call sub.MFC42.DLL_CString::CString
mov ecx, ebx
dec ebx
test ecx, ecx
jne 0x43ee80
lea ecx, [esp + 0x38]
mov byte [esp + 0xb0], 0x1b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0xb0], 0x1a
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xb0], 4
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0xb0], 3
call fcn.00419a40
lea ecx, [esp + 0x44]
mov byte [esp + 0xb0], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0xb0], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov byte [esp + 0xb0], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov dword [esp + 0xb0], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa4
ret 4