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

Disassembly:
push 0xffffffffffffffff
push 0x43d70a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
mov eax, dword [0x47f070]
xor eax, esp
push ebx
push ebp
push esi
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x130]
xor esi, esi
push edi
mov ebp, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x13c]
cmp dword [edi + 4], esi
mov dword [esp + 0x12c], 1
jne 0x42d315
mov ebp, dword [esp + 0x50]
push 0x44093e
mov ecx, ebp
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
mov dword [esp + 0x4c], 1
jmp 0x42dfdc
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
cmp dword [ebp + 8], esi
mov byte [esp + 0x12c], 2
jne 0x42da8a
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x88]
mov byte [esp + 0x12c], 4
call sub.MFC71.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x2c]
mov byte [esp + 0x12c], 5
call sub.MFC71.DLL_CStringArray::CStringArray
mov ecx, dword [edi + 4]
mov byte [esp + 0x12c], 6
mov dword [esp + 0x28], esi
call dword [sym.imp.DWLib.dll_public:_unsigned_int___thiscall_darwin::DataManager::Study::GetSeriesCount_void_]
test eax, eax
jbe 0x42d5a0
jmp 0x42d390
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 4]
push edx
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.DWLib.dll_public:_class_darwin::shared_ptr_class_darwin::DataManager::Series__class_darwin::ObjectManager_class_darwin::DataManager::Series_____thiscall_darwin::DataManager::Study::GetSeries_unsigned_int_]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 4]
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x130], 7
call dword [sym.imp.DWLib.dll_public:_class_darwin::shared_ptr_class_CDicomData__class_darwin::ObjectManager_class_CDicomData_____thiscall_darwin::DataManager::Series::GetRepresentativeDicomHeader_void_]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
test ecx, ecx
mov byte [esp + 0x12c], 8
je 0x42d500
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x60
mov eax, ecx
push 8
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 9
call dword [0x43f43c]
lea ecx, [esp + 0x40]
mov byte [esp + 0x12c], 8
call dword [0x43f434]
mov eax, dword [esp + 0x90]
xor esi, esi
test eax, eax
jle 0x42d45e
test esi, esi
jl 0x42e039
cmp esi, eax
jge 0x42e039
mov edx, dword [esp + 0x8c]
lea ecx, [edx + esi*4]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
je 0x42d470
mov eax, dword [esp + 0x90]
inc esi
cmp esi, eax
jl 0x42d423
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x90]
call sub.MFC71.DLL_CStringArray::SetAtGrow_1
mov edx, dword [esp + 0x48]
mov ecx, dword [edx + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x15
push 0x18
lea eax, [esp + 0x28]
push eax
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0xa
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], 8
call dword [0x43f434]
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x42d4ed
test esi, esi
jl 0x42e039
cmp esi, eax
jge 0x42e039
mov ecx, dword [esp + 0x30]
lea ecx, [ecx + esi*4]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
je 0x42d4fc
mov eax, dword [esp + 0x34]
inc esi
cmp esi, eax
jl 0x42d4b8
lea edx, [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x34]
call sub.MFC71.DLL_CStringArray::SetAtGrow_1
mov eax, dword [esp + 0x48]
mov ebp, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edi, [eax + 0xc]
push edi
mov byte [esp + 0x130], 7
mov dword [esp + 0x48], 0x441a88
mov esi, eax
call ebp
mov eax, dword [esi + 8]
xor bl, bl
dec eax
mov dword [esi + 8], eax
jne 0x42d52b
mov bl, 1
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x42d53e
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov esi, dword [esp + 0x58]
lea edi, [esi + 0xc]
push edi
mov byte [esp + 0x130], 6
mov dword [esp + 0x58], 0x441a8c
call ebp
mov eax, dword [esi + 8]
xor bl, bl
dec eax
mov dword [esi + 8], eax
jne 0x42d565
mov bl, 1
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x42d578
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x13c]
mov ecx, dword [eax + 4]
inc esi
mov dword [esp + 0x28], esi
call dword [sym.imp.DWLib.dll_public:_unsigned_int___thiscall_darwin::DataManager::Study::GetSeriesCount_void_]
cmp esi, eax
jb 0x42d390
mov edi, dword [esp + 0x13c]
mov ecx, dword [edi + 4]
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.DWLib.dll_public:_class_darwin::shared_ptr_class_CDicomData__class_darwin::ObjectManager_class_CDicomData_____thiscall_darwin::DataManager::Study::GetRepresentativeDicomHeader_void_]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x20
push 8
lea edx, [esp + 0x28]
mov bl, 0xb
push edx
mov byte [esp + 0x140], bl
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0xc
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d65a
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea eax, [esp + 0x1c]
push str.YYYY.MM.DD
push eax
call fcn.00438d70
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x24]
push 0x442fb4
push edx
mov byte [esp + 0x144], 0xd
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x18
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x30
push 8
lea edx, [esp + 0x28]
push edx
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0xe
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d6fd
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea eax, [esp + 0x1c]
push str.HH:MM:SS
push eax
call fcn.00438e50
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x24]
push 0x442fa4
push edx
mov byte [esp + 0x144], 0xf
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x18
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x50
push 8
lea edx, [esp + 0x28]
push edx
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0x10
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d76f
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push 0x442f94
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x10
push 0x20
lea edx, [esp + 0x28]
push edx
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0x11
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d7e1
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push 0x442f88
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1030
push 8
lea edx, [esp + 0x28]
push edx
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0x12
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d856
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push 0x442f78
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x4000
push 0x32
lea edx, [esp + 0x28]
push edx
call fcn.004384c0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0x13
call dword [0x43f43c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], bl
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d8cb
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push 0x442f64
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::Empty]
mov eax, dword [esp + 0x90]
xor esi, esi
test eax, eax
jle 0x42d92b
test esi, esi
jle 0x42d8f7
push 0x442f38
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
test esi, esi
jl 0x42e039
cmp esi, dword [esp + 0x90]
jge 0x42e039
mov eax, dword [esp + 0x8c]
lea eax, [eax + esi*4]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov eax, dword [esp + 0x90]
inc esi
cmp esi, eax
jl 0x42d8e2
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d960
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push 0x442f54
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::Empty]
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x42d9b4
test esi, esi
jle 0x42d989
push 0x442f38
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
test esi, esi
jl 0x42e039
cmp esi, dword [esp + 0x34]
jge 0x42e039
mov ecx, dword [esp + 0x30]
lea eax, [ecx + esi*4]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov eax, dword [esp + 0x34]
inc esi
cmp esi, eax
jl 0x42d974
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
jne 0x42d9e9
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x18]
push 0x442f48
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
test eax, eax
jle 0x42da06
push 0x442f44
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::TrimRight]
mov esi, dword [esp + 0x24]
lea edi, [esi + 0xc]
push edi
mov byte [esp + 0x130], 6
mov dword [esp + 0x24], 0x441a88
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 8]
xor bl, bl
dec eax
mov dword [esi + 8], eax
jne 0x42da31
mov bl, 1
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x42da44
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x12c], 5
call fcn.00439f6c
lea ecx, [esp + 0x88]
mov byte [esp + 0x12c], 4
call fcn.00439f6c
lea ecx, [esp + 0x10]
call dword [0x43f434]
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], 2
call dword [0x43f434]
jmp 0x42dfb2
mov ecx, dword [edi + 4]
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.DWLib.dll_public:_class_darwin::shared_ptr_class_CDicomData__class_darwin::ObjectManager_class_CDicomData_____thiscall_darwin::DataManager::Study::GetRepresentativeDicomHeader_void_]
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp eax, esi
mov byte [esp + 0x12c], 0x14
mov dword [esp + 0x28], ecx
jle 0x42df57
mov ebx, dword [sym.imp.MSVCR71.dll_strtol]
jmp 0x42dac0
mov ecx, dword [esp + 0x28]
lea ecx, [ecx]
test ecx, ecx
jl 0x42e039
cmp ecx, eax
jge 0x42e039
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x28]
lea esi, [ecx + edx*8]
push esi
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
add esi, 4
push esi
lea ecx, [esp + 0x28]
mov byte [esp + 0x130], 0x15
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
cmp eax, 8
jne 0x42dc94
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
push 4
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x134], 0x18
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Right]
mov esi, eax
push 4
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x134], 0x19
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
push 0x4422a4
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x138], 0x1a
call fcn.004120e0
push esi
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x144], 0x1b
call fcn.0041a3e0
add esp, 0x18
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x130], 0x1c
call dword [0x43f43c]
lea ecx, [esp + 0x18]
call dword [0x43f434]
lea ecx, [esp + 0x40]
call dword [0x43f434]
lea ecx, [esp + 0x80]
call dword [0x43f434]
lea ecx, [esp + 0x60]
mov byte [esp + 0x12c], 0x18
call dword [0x43f434]
push str.Series
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
lea ecx, [esp + 0x10]
jne 0x42dc3b
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
sub esp, 8
mov eax, esp
mov dword [esp + 0x50], esp
lea esi, [edi + 0xc]
push esi
mov dword [eax], 0x441c18
mov dword [eax + 4], edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [edi + 8]
inc ecx
push esi
mov dword [edi + 8], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebp
call fcn.0042d010
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 0x1d
call dword [0x43f43c]
lea ecx, [esp + 0x64]
jmp 0x42dc6c
mov edx, dword [esp + 0x78]
mov esi, dword [edx + 4]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call fcn.00438640
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 0x1e
call dword [0x43f43c]
lea ecx, [esp + 0x6c]
call dword [0x43f434]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::IsEmpty]
test al, al
je 0x42dcb5
lea ecx, [esp + 0x14]
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [0x43f434]
lea ecx, [esp + 0x24]
mov byte [esp + 0x12c], 0x14
call dword [0x43f434]
lea ecx, [esp + 0x20]
call dword [0x43f434]
jmp 0x42df43
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x30]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x34]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x38]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x3c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
lea ecx, [esp + 0x24]
mov byte [esp + 0x12c], 0x1f
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00413d70
mov ecx, eax
call fcn.00412f50
lea ecx, [esp + 0xa0]
call fcn.00439270
push 4
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x134], 0x20
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Right]
mov esi, eax
push 4
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x134], 0x21
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov edi, eax
push 0x10
push 0
mov ecx, esi
mov byte [esp + 0x134], 0x22
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call ebx
add esp, 0xc
push eax
push 0x10
push 0
mov ecx, edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [esp + 0xa8]
push ecx
call fcn.00439690
add esp, 0xc
lea ecx, [esp + 0x5c]
call dword [0x43f434]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x12c], 0x20
call dword [0x43f434]
mov eax, dword [esp + 0xe8]
cmp eax, 5
jne 0x42ddf2
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x3c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea edx, [esp + 0x70]
push edx
call fcn.00438d70
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 0x23
call dword [0x43f43c]
lea ecx, [esp + 0x68]
jmp 0x42de37
cmp eax, 0x16
jne 0x42de45
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x3c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.00438e50
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 0x24
call dword [0x43f43c]
lea ecx, [esp + 0x9c]
mov byte [esp + 0x12c], 0x20
call dword [0x43f434]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.0041a3e0
lea ecx, [esp + 0x3c]
push ecx
push eax
lea edx, [esp + 0x98]
push edx
mov byte [esp + 0x144], 0x25
call fcn.0041a3e0
push 0x442f44
push eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0x150], 0x26
call fcn.004120e0
add esp, 0x24
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x130], 0x27
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x70]
call dword [0x43f434]
lea ecx, [esp + 0x84]
call dword [0x43f434]
lea ecx, [esp + 0x54]
call dword [0x43f434]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x12c], 0x1f
call fcn.004392c0
lea ecx, [esp + 0x3c]
call dword [0x43f434]
lea ecx, [esp + 0x38]
call dword [0x43f434]
lea ecx, [esp + 0x34]
call dword [0x43f434]
lea ecx, [esp + 0x30]
call dword [0x43f434]
lea ecx, [esp + 0x2c]
call dword [0x43f434]
lea ecx, [esp + 0x14]
call dword [0x43f434]
lea ecx, [esp + 0x10]
call dword [0x43f434]
lea ecx, [esp + 0x24]
mov byte [esp + 0x12c], 0x14
call dword [0x43f434]
lea ecx, [esp + 0x20]
call dword [0x43f434]
mov edi, dword [esp + 0x13c]
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp + 8]
inc ecx
cmp ecx, eax
mov dword [esp + 0x28], ecx
jl 0x42dab9
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
test eax, eax
jle 0x42df74
push 0x442f44
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::TrimRight]
mov esi, dword [esp + 0x78]
lea edi, [esi + 0xc]
push edi
mov byte [esp + 0x130], 2
mov dword [esp + 0x78], 0x441a88
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 8]
xor bl, bl
dec eax
mov dword [esi + 8], eax
jne 0x42df9f
mov bl, 1
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x42dfb2
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x4c], 1
call dword [0x43f434]
mov edi, dword [esp + 0x13c]
lea esi, [edi + 0xc]
push esi
mov byte [esp + 0x130], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 8]
xor bl, bl
dec eax
mov dword [edi + 8], eax
jne 0x42dffb
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x42e00e
mov edx, dword [edi]
mov ecx, edi
push 1
call dword [edx]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
mov eax, ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x118]
pop ebp
pop ebx
xor ecx, esp
call fcn.0043a16b
add esp, 0x120
ret 0xc
call fcn.00439dbc
int3