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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x13c
mov esi, dword [0x85ee48]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x50], 0x71d953
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x58], ecx
mov ebx, dword [esi + 0xc4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x44], edx
test eax, eax
mov eax, 0x71d956
cmovne eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x100]
test eax, eax
je 0x52b630
mov esi, dword [esi + 0x104]
test esi, esi
mov dword [esp + 0x38], esi
je 0x52b552
mov eax, dword [esp + 0x158]
test eax, eax
jne 0x52b547
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 0x38]
test edi, edi
je 0x52b552
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x38]
sub eax, 1
mov edx, dword [edx + 4]
mov dword [esp + 0x3c], eax
and eax, dword [esp + 0x44]
mov dword [esp + 0x40], edx
lea edx, [esp + 0x108]
or eax, 1
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [edx + eax], 0
add eax, 4
cmp eax, 0x20
jb 0x52b4de
mov eax, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], 1
mov dword [esp + 0x114], eax
mov eax, dword [edx + 0x40]
mov dword [esp + 0x110], ecx
mov dword [esp], eax
call fcn.00649b50
mov esi, dword [eax]
mov dword [esp + 0x60], eax
test esi, esi
je 0x52b994
mov ebx, dword [0x85ee58]
test ebx, ebx
jne 0x52b944
add esp, 0x13c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esi + 0x3c]
test edi, edi
jne 0x52b4b5
mov eax, dword [esp + 0x54]
call fcn.00524760
mov esi, dword [eax]
mov dword [esp + 0x34], eax
test esi, esi
je 0x52be90
mov eax, dword [esp + 0x158]
test eax, eax
je 0x52b8a2
mov ecx, dword [esi + 0x90]
test ecx, ecx
je 0x52be41
lea edx, [esp + 0x108]
xor eax, eax
mov dword [edx + eax], 0
add eax, 4
cmp eax, 0x20
jb 0x52b58f
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], eax
call fcn.00649920
test eax, eax
mov esi, eax
je 0x52be41
mov eax, dword [0x85ee58]
test eax, eax
je 0x52b53a
mov dword [esp], esi
call fcn.0059d570
mov edx, dword [esp + 0x44]
mov dword [esp], edi
mov dword [esp + 4], edx
mov ebx, eax
call fcn.0059ced0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ebx
mov dword [esp + 4], str.DWO__s__s__s__found:___s_n
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
add esp, 0x13c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 4]
mov dword [esp], str._s.dwp
mov dword [esp + 4], eax
call fcn.005c2fc0
mov dword [esp], fcn.005c2f40
mov dword [esp + 0x34], eax
mov dword [esp + 4], eax
call fcn.0048e4f0
mov edx, dword [esp + 0x58]
mov ecx, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
call fcn.00528460
test eax, eax
mov dword [esp + 0x38], eax
je 0x52c606
lea edx, [ebx + 0x3c]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x3c], edx
mov edx, dword [ebx + 0x4c]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x4b
jle 0x52bdb8
mov ebp, dword [ebx + 0x44]
add eax, 0x4c
mov dword [ebx + 0x48], eax
cmp eax, ebp
je 0x52be20
mov ecx, dword [ebx + 0x54]
add eax, ecx
not ecx
and eax, ecx
mov ecx, edx
mov edi, eax
sub ecx, dword [ebx + 0x40]
sub edi, dword [ebx + 0x40]
mov dword [ebx + 0x48], eax
cmp edi, ecx
jg 0x52b8d0
test ebp, 1
mov edi, ebp
mov dword [ebx + 0x44], eax
mov edx, 0x4c
jne 0x52c1a0
test edi, 2
jne 0x52c1b0
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
jne 0x52b8b8
and edx, 1
jne 0x52b8b0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], ebp
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edi, eax
mov eax, dword [ebx + 0x48]
lea edx, [edi + 1]
lea ecx, [eax + edx]
cmp dword [ebx + 0x4c], ecx
jb 0x52bda0
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
add edi, dword [ebx + 0x48]
mov byte [edi], 0
mov eax, dword [ebx + 0x44]
add edi, 1
mov dword [ebx + 0x48], edi
cmp edi, eax
je 0x52be05
mov edx, dword [ebx + 0x54]
add edi, edx
not edx
and edi, edx
mov edx, dword [ebx + 0x4c]
mov ecx, edi
sub ecx, dword [ebx + 0x40]
mov dword [ebx + 0x48], edi
mov dword [esp + 0x34], ecx
mov ecx, edx
sub ecx, dword [ebx + 0x40]
cmp dword [esp + 0x34], ecx
jg 0x52b8e0
mov dword [ebx + 0x44], edi
mov dword [ebp], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.0048e650
mov eax, dword [esp + 0x38]
mov edx, dword [ebx + 0x4c]
mov edi, dword [eax + 0x74]
mov eax, dword [ebx + 0x48]
mov ecx, edx
add edi, 1
mov dword [ebp + 0x44], edi
sub ecx, eax
shl edi, 2
cmp edi, ecx
jg 0x52bd85
mov ecx, dword [ebx + 0x44]
add eax, edi
mov dword [ebx + 0x48], eax
cmp eax, ecx
mov dword [esp + 0x4c], ecx
je 0x52be10
mov ecx, dword [ebx + 0x54]
add eax, dword [ebx + 0x54]
not ecx
and eax, ecx
mov ecx, eax
sub ecx, dword [ebx + 0x40]
mov dword [ebx + 0x48], eax
mov dword [esp + 0x40], ecx
mov ecx, edx
sub ecx, dword [ebx + 0x40]
cmp dword [esp + 0x40], ecx
jle 0x52b7ea
mov dword [ebx + 0x48], edx
mov eax, edx
mov dword [ebx + 0x44], eax
mov dword [esp + 8], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 4], 0
mov dword [esp], edi
call sub.msvcrt.dll_memset
mov dword [ebp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x527680
mov dword [esp], eax
call fcn.005e4130
xor edx, edx
mov eax, ebp
call fcn.00524b80
mov edx, 1
mov dword [ebp + 0x38], eax
mov eax, ebp
call fcn.00524b80
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0x3c], eax
mov dword [esp + 0x18], 0x59d840
mov dword [esp + 0x14], 0x59d790
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x523e10
mov dword [esp + 4], 0x523e00
mov dword [esp], 3
call fcn.00649410
mov dword [ebp + 0x40], eax
mov eax, dword [0x85ee58]
test eax, eax
jne 0x52b8f0
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x104], ecx
mov esi, dword [0x85ee48]
mov dword [esi + 0x100], 1
jmp 0x52b485
mov ecx, dword [esi + 0x8c]
jmp 0x52b57e
mov byte [edi], 0
jmp 0x52b6ff
mov word [edi], 0
add edi, 2
and edx, 1
je 0x52b6ff
jmp 0x52b8b0
mov dword [ebx + 0x48], edx
mov eax, edx
jmp 0x52b6c2
mov dword [ebx + 0x48], edx
mov edi, edx
jmp 0x52b775
mov eax, dword [ebp]
mov dword [esp + 4], str.DWP_file_found:__s_n
mov dword [esp + 8], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
mov eax, dword [ebp + 0x3c]
xor edx, edx
test eax, eax
je 0x52b917
mov edx, dword [eax]
mov ecx, dword [ebp + 0x38]
xor eax, eax
test ecx, ecx
je 0x52b922
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov eax, dword [0x8663bc]
mov dword [esp + 0xc], edx
mov dword [esp + 4], str._____u_CUs___u_TUs_n
mov dword [esp], eax
call fcn.0059ac60
jmp 0x52b883
mov dword [esp], esi
call fcn.0059d570
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov ebx, eax
call fcn.0059ced0
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.Virtual_DWO__s__s_found:___s_n
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
add esp, 0x13c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x52c783
mov esi, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x64], ebx
mov ebx, eax
and esi, dword [esp + 0x48]
jmp 0x52b9cd
or edx, eax
je 0x52bdd7
add esi, dword [esp + 0x34]
add ebx, 1
and esi, dword [esp + 0x3c]
cmp ebx, dword [edi + 4]
jae 0x52c783
mov ecx, dword [esp + 0x40]
lea eax, [esi*8]
add eax, dword [edi + 8]
mov edx, dword [ecx + 8]
mov dword [esp], eax
call dword [edx + 0x1c]
mov ebp, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor ebp, edx
xor ecx, eax
or ebp, ecx
jne 0x52b9b1
mov ecx, dword [esp + 0x40]
mov ebx, 0x71d953
mov edx, dword [edi + 0xc]
add edi, 0x10
mov eax, dword [ecx + 8]
lea esi, [edx + esi*4]
mov dword [esp], esi
call dword [eax + 0x28]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x38]
test ecx, ecx
mov edi, dword [edi + 4]
mov esi, eax
mov eax, dword [0x85ee48]
mov dword [esp + 0x3c], edi
mov edi, dword [0x85ee58]
mov ebp, dword [eax + 0xc4]
mov eax, 0x71d956
cmove ebx, eax
test edi, edi
jne 0x52c1c0
lea edx, [esp + 0x74]
xor eax, eax
mov edi, edx
mov ecx, 0x1c
rep stosd dword es:[edi], eax
lea edi, [esi*4]
mov dword [esp + 4], 0
mov dword [esp], 0x48e6d0
call fcn.0048e4f0
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 8]
mov edx, edi
add edx, dword [ecx]
mov dword [esp], edx
call dword [eax + 0x28]
test eax, eax
je 0x52c28c
cmp eax, dword [ebp + 0x44]
jae 0x52c7a6
mov edx, dword [ebp + 0x48]
mov esi, dword [edx + eax*4]
mov edx, 0x7214a0
mov ebx, dword [esi]
mov eax, ebx
call fcn.00527530
test eax, eax
je 0x52bae8
mov eax, dword [esp + 0x74]
test eax, eax
je 0x52be80
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov dword [esp], str.Dwarf_Error:_bad_DWP_hash_table__invalid_section_found__in_module__s_
mov dword [esp + 4], eax
call fcn.0059a2d0
mov edx, 0x7214a8
mov eax, ebx
call fcn.00527530
test eax, eax
jne 0x52bd60
mov edx, 0x7214e0
mov eax, ebx
call fcn.00527530
test eax, eax
jne 0x52bd60
mov edx, 0x7214b0
mov eax, ebx
call fcn.00527530
test eax, eax
jne 0x52bde0
mov edx, 0x7214b8
mov eax, ebx
call fcn.00527530
test eax, eax
je 0x52c253
mov edx, dword [esp + 0x94]
test edx, edx
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], eax
add dword [esp + 0x4c], 1
add edi, 4
cmp dword [esp + 0x4c], 8
jne 0x52ba88
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x52c29b
mov eax, dword [esp + 0x74]
test eax, eax
je 0x52c29b
cmp dword [esp + 0x4c], 8
je 0x52c7bc
mov edx, dword [esp + 0xc4]
xor esi, esi
test edx, edx
je 0x52bba1
mov esi, dword [edx + 4]
mov edx, dword [esp + 0x94]
xor ebx, ebx
test edx, edx
je 0x52bbb1
mov ebx, dword [edx + 4]
mov edx, dword [esp + 0x84]
xor ecx, ecx
test edx, edx
je 0x52bbc1
mov ecx, dword [edx + 4]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov eax, dword [eax + 4]
mov dword [esp], str.virtual_dwo__d__d__d__d
mov dword [esp + 4], eax
call fcn.005c2fc0
mov dword [esp], fcn.005c2f40
mov esi, eax
mov dword [esp + 4], eax
call fcn.0048e4f0
mov eax, esi
call fcn.00524760
mov edi, dword [eax]
mov edx, eax
test edi, edi
je 0x52c2c3
lea eax, [ebp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [0x85ee58]
test eax, eax
jne 0x52c22b
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.0048e650
mov edx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x48]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x1f
jle 0x52c20c
mov ebx, dword [ebp + 0x44]
add eax, 0x20
mov dword [ebp + 0x48], eax
cmp eax, ebx
je 0x52c2ba
mov ecx, dword [ebp + 0x54]
add eax, ecx
not ecx
and eax, ecx
mov ecx, edx
mov esi, eax
sub ecx, dword [ebp + 0x40]
sub esi, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
cmp esi, ecx
jle 0x52bc68
mov dword [ebp + 0x48], edx
mov eax, edx
test bl, 1
mov edx, ebx
mov dword [ebp + 0x44], eax
mov ecx, 0x20
jne 0x52c5f9
test dl, 2
jne 0x52c5e9
mov esi, ecx
xor eax, eax
and esi, 0xfffffffc
mov dword [edx + eax], 0
add eax, 4
cmp eax, esi
jb 0x52bc8b
add edx, eax
test cl, 2
je 0x52bca8
mov word [edx], 0
add edx, 2
and ecx, 1
je 0x52bcb0
mov byte [edx], 0
mov eax, dword [esp + 0x44]
mov esi, ebx
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x48]
mov dword [ebx], edi
mov edi, dword [esp + 0x48]
mov dword [ebx + 0xc], eax
mov eax, ecx
sub eax, edx
cmp eax, 0xf
mov dword [ebx + 8], edi
jg 0x52bceb
mov edx, dword [esp + 0x34]
mov dword [esp + 4], 0x10
mov dword [esp], edx
call fcn.00640110
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x44]
add edx, 0x10
mov dword [ebp + 0x48], edx
cmp edx, eax
je 0x52c2b1
mov edi, dword [ebp + 0x54]
add edx, edi
not edi
and edx, edi
mov edi, edx
sub edi, dword [ebp + 0x40]
mov dword [ebp + 0x48], edx
mov dword [esp + 0x34], edi
mov edi, ecx
sub edi, dword [ebp + 0x40]
cmp dword [esp + 0x34], edi
jle 0x52bd21
mov dword [ebp + 0x48], ecx
mov edx, ecx
mov dword [ebp + 0x44], edx
mov edx, dword [esp + 0xd4]
mov dword [ebx + 0x10], eax
mov dword [eax], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xe0]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x60]
mov dword [eax], ebx
jmp 0x52b52c
mov ebx, dword [esp + 0xd4]
test ebx, ebx
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0xd4], esi
mov dword [esp + 0xdc], eax
jmp 0x52bb54
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.00640110
mov eax, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
jmp 0x52b7b0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
call fcn.00640110
mov eax, dword [ebx + 0x48]
jmp 0x52b723
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], 0x4c
mov dword [esp], ecx
call fcn.00640110
mov eax, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
jmp 0x52b693
mov ebx, dword [esp + 0x64]
jmp 0x52b552
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], eax
jmp 0x52bb54
or byte [ebx + 0x64], 2
jmp 0x52b74e
or byte [ebx + 0x64], 2
jmp 0x52b7c4
or byte [ebx + 0x64], 2
jmp 0x52b6a4
mov ecx, dword [0x85ee58]
test ecx, ecx
jne 0x52c73c
mov eax, dword [esp + 0x34]
mov dword [eax], 0
mov eax, dword [0x85ee58]
test eax, eax
jne 0x52c516
mov eax, dword [ebx + 4]
xor esi, esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov dword [esp + 4], str.Could_not_find_DWO_CU_referenced_by_CU_at_offset_0x_x__in_module__s_
mov dword [esp], 0x6a9340
mov dword [esp + 8], eax
call fcn.00582430
jmp 0x52b53a
mov eax, dword [esi + 0x24]
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], eax
jmp 0x52bb54
mov eax, dword [0x85ee48]
xor ecx, ecx
mov edx, dword [esp + 0x58]
mov ebp, dword [eax + 0xc4]
mov eax, dword [esp + 0x54]
call fcn.00528460
test eax, eax
mov dword [esp + 0x3c], eax
je 0x52be29
lea edx, [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x4c]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x93
jle 0x52c5b2
mov ecx, dword [ebp + 0x44]
add eax, 0x94
mov dword [ebp + 0x48], eax
cmp eax, ecx
mov dword [esp + 0x38], ecx
je 0x52c64e
mov ecx, dword [ebp + 0x54]
mov edi, edx
add eax, ecx
not ecx
and eax, ecx
mov ecx, dword [ebp + 0x40]
mov esi, eax
mov dword [ebp + 0x48], eax
sub esi, ecx
sub edi, ecx
cmp esi, edi
jle 0x52bf0a
mov dword [ebp + 0x48], edx
mov eax, edx
mov edi, dword [esp + 0x38]
mov edx, 0x94
mov dword [ebp + 0x44], eax
test edi, 1
jne 0x52c709
test edi, 2
jne 0x52c71a
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x52bf44
mov word [edi], 0
add edi, 2
and edx, 1
je 0x52bf4c
mov byte [edi], 0
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x38]
mov dword [esp], edx
call sub.msvcrt.dll_strlen
mov edi, eax
mov eax, dword [ebp + 0x48]
lea edx, [edi + 1]
lea ecx, [eax + edx]
cmp dword [ebp + 0x4c], ecx
jb 0x52c5d1
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 0x48]
add eax, edi
mov byte [eax], 0
mov edx, dword [ebp + 0x44]
add eax, 1
mov dword [ebp + 0x48], eax
cmp eax, edx
je 0x52c645
mov ecx, dword [ebp + 0x54]
add eax, ecx
not ecx
and eax, ecx
mov ecx, dword [ebp + 0x4c]
mov edi, eax
sub edi, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
mov dword [esp + 0x40], edi
mov edi, ecx
sub edi, dword [ebp + 0x40]
cmp dword [esp + 0x40], edi
jle 0x52bfc5
mov dword [ebp + 0x48], ecx
mov eax, ecx
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x38]
mov dword [eax], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov dword [esp + 4], eax
mov dword [esp], 0x5241d0
call fcn.0048e4f0
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], 0x53f6d0
add ecx, 8
mov dword [esp + 0x58], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.005e4130
mov eax, dword [0x85ee48]
mov edi, dword [esp + 0x38]
mov eax, dword [eax + 0xc4]
add edi, 0x78
mov edx, edi
mov dword [esp + 0x3c], eax
call fcn.00524a10
mov edx, dword [esp + 0x38]
mov ebp, dword [edx + 0x7c]
test ebp, ebp
je 0x52c799
mov eax, dword [edx + 0x78]
mov edx, dword [0x85ee58]
mov eax, dword [eax + 0x94]
test edx, edx
jne 0x52c558
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], 0x59d840
mov dword [esp + 0x14], 0x59d790
mov dword [esp + 0xc], 0
add eax, 0x3c
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x523de0
mov dword [esp + 4], 0x523dd0
mov dword [esp], 3
call fcn.00649410
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x12c], eax
mov eax, dword [ecx + 0x80]
add eax, ebp
cmp ebp, eax
mov dword [esp + 0x40], eax
jae 0x52c134
lea edx, [esp + 0xe4]
mov dword [esp + 0x68], ebx
mov ebx, ecx
mov dword [esp + 0x6c], esi
mov esi, edi
mov dword [esp + 0x4c], edx
nop
mov edi, dword [esp + 0x4c]
xor eax, eax
mov ecx, 9
mov edx, dword [esp + 0x3c]
rep stosd dword es:[edi], eax
mov eax, ebp
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x128]
mov dword [esp + 0xf0], esi
sub eax, dword [ebx + 0x7c]
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp], 0x52da00
mov dword [esp + 0xe4], eax
lea eax, [esp + 0xe4]
call fcn.0052a880
add ebp, dword [esp + 0xe8]
cmp dword [esp + 0x40], ebp
ja 0x52c0d0
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
mov edx, dword [edi + 0x88]
mov dword [edi + 0x8c], eax
mov eax, edi
call fcn.00528970
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0048e670
mov eax, dword [0x85ee58]
test eax, eax
je 0x52c187
mov edx, dword [esp + 0x54]
mov eax, dword [0x8663bc]
mov dword [esp + 4], str.DWO_file_found:__s_n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0059ac60
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
test edx, edx
mov dword [eax], edx
jne 0x52b569
jmp 0x52be41
mov byte [ebp], 0
lea edi, [ebp + 1]
mov dl, 0x4b
jmp 0x52b6d8
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x52b6e4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edi, dword [eax]
mov dword [esp + 8], 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0059cca0
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Reading__s__u_0x_s_in_DWP_file:__s_n
mov dword [esp + 0x10], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
jmp 0x52ba4a
mov edx, dword [esp + 0x34]
mov dword [esp + 4], 0x20
mov dword [esp], edx
call fcn.00640110
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
jmp 0x52bc38
mov eax, dword [0x8663bc]
mov dword [esp + 0x2c], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Using_existing_virtual_DWO:__s_n
mov dword [esp], eax
call fcn.0059ac60
mov edx, dword [esp + 0x2c]
mov edi, dword [edx]
jmp 0x52bc19
mov edx, 0x7214c0
mov eax, ebx
call fcn.00527530
test eax, eax
je 0x52c579
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xac], eax
jmp 0x52bb54
cmp dword [esp + 0x4c], 1
mov ebp, dword [esp + 0x54]
jg 0x52bb6b
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov dword [esp], str.Dwarf_Error:_bad_DWP_hash_table__missing_DWO_sections__in_module__s_
mov dword [esp + 4], eax
call fcn.0059a2d0
or byte [ebp + 0x64], 2
jmp 0x52bcfc
or byte [ebp + 0x64], 2
jmp 0x52bc49
mov eax, dword [0x85ee58]
test eax, eax
jne 0x52c6e3
lea eax, [ebp + 0x3c]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x48]
mov ebx, ecx
sub ebx, eax
cmp ebx, 0x93
jle 0x52c6bc
mov ebx, dword [ebp + 0x44]
add eax, 0x94
mov dword [ebp + 0x48], eax
cmp eax, ebx
je 0x52c733
mov edi, dword [ebp + 0x54]
add eax, edi
not edi
and eax, edi
mov edi, eax
sub edi, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
mov dword [esp + 0x3c], edi
mov edi, ecx
sub edi, dword [ebp + 0x40]
cmp dword [esp + 0x3c], edi
jle 0x52c325
mov dword [ebp + 0x48], ecx
mov eax, ecx
test bl, 1
mov edi, ebx
mov dword [ebp + 0x44], eax
mov dword [esp + 0x3c], 0x94
jne 0x52c770
test edi, 2
jne 0x52c75e
mov ecx, dword [esp + 0x3c]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
test byte [esp + 0x3c], 2
je 0x52c361
mov word [edi], 0
add edi, 2
test byte [esp + 0x3c], 1
je 0x52c36b
mov byte [edi], 0
mov dword [esp], esi
mov edi, ebx
mov dword [esp + 0x2c], edx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x54], eax
lea eax, [ecx + 1]
mov dword [esp + 0x3c], eax
add eax, dword [esp + 0x54]
cmp dword [ebp + 0x4c], eax
jb 0x52c690
mov eax, dword [esp + 0x54]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x48]
add eax, ecx
mov byte [eax], 0
mov esi, dword [ebp + 0x44]
add eax, 1
mov dword [ebp + 0x48], eax
mov edx, dword [esp + 0x2c]
cmp eax, esi
je 0x52c72a
mov ecx, dword [ebp + 0x54]
add eax, ecx
not ecx
and eax, ecx
mov ecx, dword [ebp + 0x4c]
mov dword [ebp + 0x48], eax
mov dword [esp + 0x54], ecx
mov ecx, eax
sub ecx, dword [ebp + 0x40]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x54]
sub ecx, dword [ebp + 0x40]
cmp dword [esp + 0x4c], ecx
jle 0x52c407
mov eax, dword [esp + 0x54]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x74]
mov dword [ebx], esi
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x98]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0xa0]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0xa4]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0xac]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0xb8]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0xbc]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0xc0]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0xc4]
mov dword [ebx + 0x68], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x6c], eax
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0xd0]
mov dword [ebx + 0x74], eax
mov eax, dword [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x5c], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x60], eax
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x64], eax
mov dword [edx], ebx
jmp 0x52bc19
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0059ced0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], str.DWO__s__s__s__not_found_n
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
jmp 0x52be4e
mov eax, dword [eax + 4]
mov dword [esp + 4], str.Reading_.debug_info.dwo_for__s:_n
mov dword [esp + 8], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
jmp 0x52c04f
mov edx, 0x7214c8
mov eax, ebx
call fcn.00527530
test eax, eax
je 0x52c657
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xbc], eax
jmp 0x52bb54
mov edx, dword [esp + 0x40]
mov dword [esp + 4], 0x94
mov dword [esp], edx
call fcn.00640110
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
jmp 0x52bed3
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.00640110
mov eax, dword [ebp + 0x48]
jmp 0x52bf70
mov word [edx], 0
sub ecx, 2
add edx, 2
jmp 0x52bc84
mov byte [ebx], 0
lea edx, [ebx + 1]
mov cl, 0x1f
jmp 0x52bc7b
mov eax, dword [0x85ee58]
test eax, eax
je 0x52c62c
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.DWP_file_not_found:__s_n
mov dword [esp + 8], eax
mov eax, dword [0x8663bc]
mov dword [esp], eax
call fcn.0059ac60
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.0048e650
mov dword [esp + 0x60], 0
jmp 0x52b883
or byte [ebp + 0x64], 2
jmp 0x52bf9d
or byte [ebp + 0x64], 2
jmp 0x52beea
mov edx, 0x7214d8
mov eax, ebx
call fcn.00527530
test eax, eax
je 0x52bad2
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x52bad2
mov eax, dword [esi + 0x24]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xcc], eax
jmp 0x52bb54
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00640110
mov eax, dword [ebp + 0x48]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], eax
jmp 0x52c39a
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], edx
mov dword [esp + 4], 0x94
mov dword [esp], ecx
call fcn.00640110
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov edx, dword [esp + 0x2c]
jmp 0x52c2ed
mov eax, dword [0x8663bc]
mov dword [esp + 0x2c], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Creating_virtual_DWO:__s_n
mov dword [esp], eax
call fcn.0059ac60
mov edx, dword [esp + 0x2c]
jmp 0x52c2d0
mov byte [edi], 0
mov edi, dword [esp + 0x38]
mov dl, 0x93
add edi, 1
jmp 0x52bf22
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x52bf2e
or byte [ebp + 0x64], 2
jmp 0x52c3d7
or byte [ebp + 0x64], 2
jmp 0x52c300
mov edx, dword [esp + 0x54]
mov eax, dword [0x8663bc]
mov dword [esp + 4], str.DWO_file_not_found:__s_n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0059ac60
jmp 0x52be37
mov word [edi], 0
add edi, 2
sub dword [esp + 0x3c], 2
jmp 0x52c347
mov byte [ebx], 0
lea edi, [ebx + 1]
mov dword [esp + 0x3c], 0x93
jmp 0x52c33b
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov dword [esp], str.Dwarf_Error:_bad_DWP_hash_table__lookup_didnt_terminate__in_module__s_
mov dword [esp + 4], eax
call fcn.0059a2d0
mov dword [esp + 0x60], 0
jmp 0x52c134
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
mov dword [esp], str.Dwarf_Error:_bad_DWP_hash_table__section_number_too_large__in_module__s_
mov dword [esp + 4], eax
call fcn.0059a2d0
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
mov dword [esp], str.Dwarf_Error:_bad_DWP_hash_table__too_many_DWO_sections__in_module__s_
mov dword [esp + 4], eax
call fcn.0059a2d0
lea esi, [esi]
lea edi, [edi]