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

Disassembly:
push 0xffffffffffffffff
push 0x6881d6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
mov eax, dword [esp + 0xec]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [eax]
push 0
mov edx, dword [esi + 0x138]
push 0
push 0x1200
push edx
mov dword [esp + 0x40], ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi + 0xf8]
mov ebx, eax
lea eax, [esp + 0x80]
mov dword [esp + 0x64], ebx
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0xec]
lea eax, [esp + 0xcc]
push eax
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 0x58]
lea ecx, [esp + 0xcc]
lea edx, [esp + 0x80]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
lea ecx, [esp + 0x80]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x52da5f
mov ebp, 1
cmp ebx, ebp
mov dword [esp + 0x5c], ebp
jle 0x52da5f
mov ebx, dword [esp + 0xf8]
push ebp
lea ecx, [esi + 0x118]
call fcn.006451e0
test eax, eax
je 0x52da4e
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0x10]
push edx
push 0
push ebp
push eax
lea ecx, [esi + 0xd8]
call sub.MFC42u.DLL_CListCtrl::GetSubItemRect
test eax, eax
je 0x52da4e
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x52da4e
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
cmp edx, eax
jle 0x52da4e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jge 0x52da4e
mov ecx, dword [esp + 0x104]
push 1
push 0
lea edx, [esp + 0x18]
push ecx
push edx
push edi
mov ecx, esi
call fcn.0052c570
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [0x75a760]
sub eax, edx
cmp eax, ecx
jle 0x52da4e
push ebp
mov ecx, esi
call fcn.0052f340
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov ebp, eax
push 0
push ebp
push ecx
push ebx
lea eax, [esp + 0x30]
push edx
push eax
mov ecx, esi
call fcn.0052f720
push ebp
mov dword [esp + 0xe8], 0
call fcn.0052f2e0
add esp, 4
cmp ebp, 0x6a
mov dword [esp + 0x24], eax
ja case.0x52ceb5.18
xor ecx, ecx
mov cl, byte [ebp + 0x52dac8]
jmp dword [ecx*4 + 0x52da7c]
mov edx, dword [esp + 0x100]
push 0xffffffffffffffff
push 0
push edx
jmp 0x52cf9c
mov ecx, ebx
call fcn.004a7190
fst dword [esp + 0x28]
fcomp dword [0x6acd28]
fnstsw ax
test ah, 1
jne 0x52cef2
mov dword [esp + 0x100], 0
jmp 0x52cf0e
fld dword [esp + 0x28]
fcomp dword [0x6acd24]
fnstsw ax
test ah, 1
jne 0x52cf0e
mov dword [esp + 0x100], 0xff
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x100]
push 0xffffffffffffffff
push 0
mov eax, dword [edx + 0xc]
push ecx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
push edi
mov ecx, esi
call fcn.0052efb0
fld dword [esp + 0x28]
fcomp dword [0x6acd28]
fnstsw ax
test ah, 1
jne 0x52da2f
push 0
push 0x80
push 0
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push 0xff
push eax
push edi
call fcn.00408d10
add esp, 0x20
jmp 0x52da2f
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx - 8]
test eax, eax
je 0x52da2f
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 0x43c]
cmp eax, edx
mov eax, 0xff
je 0x52cf97
mov eax, dword [esp + 0x100]
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1c]
mov ecx, dword [eax + 0xc]
lea eax, [esp + 0x2c]
push ecx
push edx
push eax
push edi
mov ecx, esi
call fcn.0052efb0
jmp 0x52da2f
mov ecx, dword [esi + 0x40c]
lea edx, [esp + 0xb4]
push edx
push 0x35
call fcn.006105b0
test eax, eax
je 0x52cff9
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x52cff9
mov eax, dword [esp + 0xfc]
push 3
push eax
push ebx
lea ecx, [esi + 0x4a0]
call fcn.005cbe80
test eax, eax
jne 0x52da2f
push 2
push 3
push 1
push 2
lea ecx, [esp + 0x20]
call sub.MFC42u.DLL_CRect::DeflateRect
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
lea ebx, [esi + 0x4a0]
push 0
push ecx
push ebp
mov ecx, ebx
call fcn.005cbb00
xor edx, edx
cmp eax, 0xfffffffe
setne dl
mov dword [esp + 0x28], eax
mov eax, edx
test eax, eax
mov dword [esp + 0x2c], eax
je 0x52d07e
mov eax, dword [esp + 0x28]
mov ecx, esi
push eax
call fcn.0052c0c0
push 1
mov ebp, eax
push 0x3fe00000
push 0
push ebp
call fcn.00408830
push 0
push 0xff
push 0xf
push 0
push eax
lea ecx, [esp + 0x34]
push ebp
push ecx
push edi
call fcn.00408d10
mov ebp, dword [esp + 0x128]
add esp, 0x30
cmp dword [esi + 0x4c4], 0xffffffff
je 0x52d0ab
mov edx, dword [esp + 0xfc]
mov ecx, ebx
push edx
push ebp
call fcn.005cae80
test eax, eax
je 0x52d0ab
lea eax, [esi + 0x508]
test eax, eax
je 0x52d192
jmp 0x52d0de
cmp dword [esi + 0x4c8], 0xffffffff
je 0x52d192
mov eax, dword [esp + 0xfc]
mov ecx, ebx
push eax
push ebp
call fcn.005caea0
test eax, eax
je 0x52d192
lea eax, [esi + 0x510]
test eax, eax
je 0x52d192
mov edx, dword [eax + 4]
test edx, edx
je 0x52d192
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa4], ecx
lea ebx, [ecx + 7]
mov ecx, dword [edi + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ebx
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
add eax, 7
push edx
push ecx
mov dword [esp + 0xa8], eax
call ebx
mov edx, dword [edi]
push 8
mov ecx, edi
mov ebp, eax
call dword [edx + 0x2c]
mov ecx, dword [edi + 4]
lea eax, [esp + 0x90]
push 3
push eax
push ecx
call dword [sym.imp.GDI32.dll_Polygon]
test ebp, ebp
je 0x52d158
mov edx, dword [edi + 4]
push ebp
push edx
call ebx
mov eax, dword [edi]
push 7
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add ecx, 6
lea eax, [esp + 0xc4]
push ecx
push edx
push eax
mov ecx, edi
call sub.MFC42u.DLL_CDC::MoveTo
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
dec ecx
add edx, 7
push ecx
push edx
mov ecx, edi
call sub.MFC42u.DLL_CDC::LineTo
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x52da2f
mov ecx, dword [esi + 0x40c]
mov eax, 2
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x52d1d9
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x52d1d9
cmp dword [eax + 8], 0x26
je 0x52d1ca
mov eax, dword [eax]
test eax, eax
jne 0x52d1bc
jmp 0x52d1d9
test eax, eax
je 0x52d1d9
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x52da2f
mov eax, dword [esp + 0x28]
push 1
push eax
mov ecx, esi
call fcn.0052c0c0
push eax
call fcn.00408750
mov ecx, dword [esp + 0x2c]
add esp, 8
mov edx, dword [ecx + 0xc]
push 0xffffffffffffffff
push 0
push eax
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
push edi
mov ecx, esi
call fcn.0052efb0
jmp 0x52da2f
mov edx, dword [esp + 0x20]
mov eax, dword [edx - 8]
test eax, eax
je 0x52da2f
push 2
push 3
push 1
push 2
lea ecx, [esp + 0x20]
call sub.MFC42u.DLL_CRect::DeflateRect
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x100]
push 0xffffffffffffffff
push 0
mov edx, dword [ecx + 0xc]
push eax
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
push edi
mov ecx, esi
call fcn.0052efb0
mov ecx, dword [esi + 0x40c]
mov eax, 1
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x52da2f
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x52da2f
cmp dword [eax + 8], 0x14
je 0x52d291
mov eax, dword [eax]
test eax, eax
jne 0x52d280
jmp 0x52da2f
test eax, eax
je 0x52da2f
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x52da2f
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
lea ebp, [esi + 0x4a0]
push 3
push edx
push eax
mov ecx, ebp
call fcn.005cbe80
mov ebx, dword [esi + 0x4b8]
test eax, eax
je 0x52d308
mov ecx, dword [esi + 0x40c]
mov eax, 3
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x52d308
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x52d308
mov ecx, 0x35
cmp dword [eax + 8], ecx
je 0x52d2fd
mov eax, dword [eax]
test eax, eax
jne 0x52d2f0
jmp 0x52d308
test eax, eax
je 0x52d308
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x52d37f
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf8]
push 0
push ecx
push edx
mov ecx, ebp
call fcn.005cbb00
push eax
mov ecx, esi
call fcn.0052c0c0
mov ecx, dword [esp + 0xf8]
mov ebx, eax
mov eax, dword [esp + 0xfc]
push eax
push ecx
mov ecx, ebp
call fcn.005cae80
test eax, eax
je 0x52d37f
cmp dword [esi + 0x4c8], 0xffffffff
je 0x52d372
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
push edx
push eax
mov ecx, ebp
call fcn.005caea0
test eax, eax
je 0x52d372
mov ebx, dword [esi + 0x4c8]
jmp 0x52d37f
mov eax, dword [esi + 0x4c4]
cmp eax, 0xffffffff
je 0x52d37f
mov ebx, eax
cmp ebx, 0xffffffff
je 0x52da2f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push 1
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x20]
push 0x3fe00000
push 0
push ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
call fcn.00408830
push 0
push 0xff
push 0xf
push 0
push eax
lea edx, [esp + 0x70]
push 0xffffffffffffffff
push edx
push edi
call fcn.00408d10
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
add esp, 0x30
push eax
push ecx
mov ecx, ebp
call fcn.005c9e90
mov ebp, eax
cmp ebp, 0x64
jl 0x52d3f6
mov ebp, 0x64
push 0xffffffffffffffff
lea edx, [esp + 0x50]
push 0xffffffffffffffff
push edx
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
push 0x64
sub eax, edx
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x54], eax
sub eax, ecx
test eax, eax
jle 0x52da2f
lea ecx, [esp + 0x4c]
push ebx
push ecx
mov ecx, edi
call sub.MFC42u.DLL_CDC::FillSolidRect_1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, edi
mov dword [esp + 0x80], edx
mov dword [esp + 0x74], eax
call sub.MFC42u.DLL_CDC::ExcludeClipRect
push 1
push ebx
call fcn.00408750
mov edx, dword [esp + 0x2c]
add esp, 8
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [edx + 0xc]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
push edi
mov ecx, esi
call fcn.0052efb0
jmp 0x52da2f
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x43c]
cmp ecx, eax
jne 0x52da2f
lea ecx, [esp + 0x10]
push 0
push ecx
push 0xf
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x52d4e8
lea edx, [esp + 0x10]
push 0
push edx
push 0x10
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
mov eax, dword [esp + 0xfc]
lea ecx, [esi + 0x4a0]
push eax
push ebx
call fcn.005c9c50
test eax, eax
je 0x52da2f
lea ecx, [esp + 0x10]
push 1
push ecx
push 0x10
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
mov eax, dword [ebx + 0x108]
test eax, eax
je 0x52d53a
lea edx, [esp + 0x10]
push 0
push edx
push 0x67
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
mov eax, dword [esp + 0xfc]
lea ecx, [esi + 0x4a0]
push eax
push ebx
call fcn.005c9d10
test eax, eax
je 0x52da2f
lea ecx, [esp + 0x10]
push 1
push ecx
push 0x67
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
mov edx, dword [esp + 0x30]
mov ecx, esi
push edx
call fcn.0052c540
mov ebx, eax
test ebx, ebx
je 0x52da2f
mov ecx, dword [esi + 0x40c]
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov ebp, eax
mov eax, 4
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x52d5b6
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x52d5b6
cmp dword [eax + 8], 0x4d
je 0x52d5d2
mov eax, dword [eax]
test eax, eax
jne 0x52d5aa
xor eax, eax
lea ecx, [esp + 0x10]
test ebp, ebp
sete al
push eax
push ecx
push 0x1d
push edi
mov ecx, esi
call fcn.0052deb0
jmp 0x52da2f
test eax, eax
je 0x52d5b6
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x52d5b6
test ebp, ebp
je 0x52d620
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
push ecx
lea ecx, [esp + 0xbc]
call sub.MFC42u.DLL_COleDateTime::operator_2
mov edx, dword [esp + 0x100]
push 2
push 0
push 0
lea eax, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0xcc]
push 0xc
push ecx
push edi
mov ecx, esi
call fcn.0052e820
jmp 0x52da2f
push 0
push 0xc916
lea ecx, [esp + 0x68]
call fcn.00411680
push 0xffffffffffffffff
push 0
push 0x626262
lea edx, [esp + 0x1c]
push 0
push edx
push eax
push edi
mov ecx, esi
mov byte [esp + 0x100], 1
call fcn.0052efb0
lea ecx, [esp + 0x60]
mov byte [esp + 0xe4], 0
call fcn.004116d0
jmp 0x52da2f
mov edx, dword [esp + 0xfc]
lea ebp, [esi + 0x4a0]
push 3
push edx
push ebx
mov ecx, ebp
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.005cbe80
xor ecx, ecx
test eax, eax
je 0x52d6f9
mov ebp, dword [esi + 0x40c]
mov eax, 1
xor edx, edx
div dword [ebp + 8]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x52d6d9
mov eax, dword [ebp + edx*4]
test eax, eax
je 0x52d6d9
mov edx, 0x13
cmp dword [eax + 8], edx
je 0x52d6ce
mov eax, dword [eax]
test eax, eax
jne 0x52d6c1
jmp 0x52d6d9
test eax, eax
je 0x52d6d9
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x52d740
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0x8c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
jmp 0x52d740
mov ecx, dword [esp + 0xfc]
push ecx
push ebx
mov ecx, ebp
call fcn.005cb570
sub esp, 8
lea ecx, [esp + 0x48]
fstp qword [esp]
call fcn.00608cd8
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x90]
cmp edx, eax
jne 0x52d73b
fld qword [esp + 0x40]
fcomp qword [ebx + 0x88]
fnstsw ax
test ah, 0x40
je 0x52d73b
xor ecx, ecx
jmp 0x52d740
mov ecx, 1
mov eax, dword [esp + 0x100]
push 2
push 0
push ecx
lea ecx, [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x54]
push 1
push edx
push edi
mov ecx, esi
call fcn.0052e820
jmp 0x52da2f
mov eax, dword [esp + 0xfc]
lea ebp, [esi + 0x4a0]
push 3
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.005cbe80
xor ecx, ecx
test eax, eax
je 0x52d7f8
mov ebp, dword [esi + 0x40c]
mov eax, 1
xor edx, edx
div dword [ebp + 8]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x52d7d8
mov eax, dword [ebp + edx*4]
test eax, eax
je 0x52d7d8
mov edx, 0x13
cmp dword [eax + 8], edx
je 0x52d7cd
mov eax, dword [eax]
test eax, eax
jne 0x52d7c0
jmp 0x52d7d8
test eax, eax
je 0x52d7d8
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x52d83f
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x34], edx
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
jmp 0x52d83f
mov eax, dword [esp + 0xfc]
mov ecx, ebp
push eax
push ebx
call fcn.005cb4b0
sub esp, 8
lea ecx, [esp + 0x3c]
fstp qword [esp]
call fcn.00608cd8
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x9c]
cmp ecx, eax
jne 0x52d83a
fld qword [esp + 0x34]
fcomp qword [ebx + 0x94]
fnstsw ax
test ah, 0x40
je 0x52d83a
xor ecx, ecx
jmp 0x52d83f
mov ecx, 1
mov edx, dword [esp + 0x100]
push 2
push 0
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x48]
push 4
push ecx
push edi
mov ecx, esi
call fcn.0052e820
jmp 0x52da2f
mov edx, dword [esp + 0x100]
push 2
push 0
push 0
lea eax, [esp + 0x1c]
push edx
push eax
add ebx, 0xa0
push 7
push ebx
push edi
mov ecx, esi
call fcn.0052e820
jmp 0x52da2f
mov ecx, dword [esp + 0x100]
push 2
push 0
push 0
lea edx, [esp + 0x1c]
push ecx
push edx
add ebx, 0xac
push 0
push ebx
push edi
mov ecx, esi
call fcn.0052e820
jmp 0x52da2f
mov eax, dword [esp + 0xfc]
lea ecx, [esi + 0x4a0]
push eax
push ebx
call fcn.005cb880
mov ecx, dword [esp + 0x100]
push 2
fstp qword [esp + 0xac]
push 0
push 0
lea edx, [esp + 0x1c]
push ecx
push edx
lea eax, [esp + 0xbc]
push 0xa
push eax
push edi
mov ecx, esi
mov dword [esp + 0xd0], 0
call fcn.0052e820
jmp 0x52da2f
mov ecx, dword [esp + 0xfc]
push ecx
push ebx
mov ecx, esi
call fcn.0052db90
mov ebx, eax
test ebx, ebx
jl 0x52da2f
mov ecx, dword [esi + 0x414]
call fcn.004294d0
push 1
push 0
push eax
lea edx, [esp + 0x1c]
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, esi
call fcn.0052dfb0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push 1
push ecx
mov ecx, dword [esi + 0x414]
push edx
push ebx
push edi
call fcn.005d1490
jmp 0x52da2f
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
je 0x52da2f
xor eax, eax
cmp ebx, 1
setg al
push eax
lea eax, [esp + 0x14]
push eax
push 0x17
push edi
mov ecx, esi
call fcn.0052deb0
mov ecx, dword [esp + 0xf4]
push ecx
mov ecx, dword [esi + 0x404]
call fcn.0053fc40
test eax, eax
je 0x52da2f
push 0
push 0x80
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x24]
push 0xff
push edx
push edi
call fcn.00408d10
add esp, 0x20
jmp 0x52da2f
lea eax, [esp + 0x10]
add ebx, 0x60
push eax
push ebx
push edi
mov ecx, esi
call fcn.0052dc00
jmp 0x52da2f
mov ecx, ebx
call fcn.004a6280
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
jne 0x52da00
mov ecx, dword [esp + 0xfc]
push ecx
mov ecx, dword [esi + 0x404]
call fcn.00545f90
test eax, eax
je 0x52da00
mov ebx, 2
lea edx, [esp + 0x10]
push ebx
push edx
push edi
mov ecx, esi
call fcn.0052df30
jmp 0x52da2f
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0xfc]
lea ecx, [esp + 0x10]
push eax
push ecx
push edi
push ebp
push edx
push ebx
mov ecx, esi
call fcn.0052e0d0
lea ecx, [esp + 0x20]
mov dword [esp + 0xe4], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
inc ebp
cmp ebp, eax
mov dword [esp + 0x5c], ebp
jl 0x52cdc1
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xd8
ret 0x1c