Function at 0x52ec10
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x14
call fcn.00525ec0
mov eax, dword [esi + 4]
push ebx
push ebp
mov ebx, 1
push edi
mov edi, ecx
movzx ecx, byte [edi + 0xac]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xad]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0xae]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xaf]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0xea
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 3
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 8
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov ecx, eax
sub ecx, dword [esi]
add eax, 2
mov dword [esi + 4], eax
movq xmm0, qword [str.FREERDP]
movq qword [eax], xmm0
add dword [esi + 4], 8
mov eax, dword [esi + 4]
mov dword [esp + 0x18], ecx
mov ecx, eax
sub ecx, dword [esi]
add eax, 2
mov dword [esi + 4], eax
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov ebp, dword [esi + 4]
mov eax, dword [esi]
sub ebp, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0xc]
lea edx, [ebp + 0x40]
mov dword [esp + 0x10], 0xf
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52ed24
lea edx, [ecx + 0x40]
cmp ecx, edx
jae 0x52ed24
lea esp, [esp]
add ecx, ecx
cmp ecx, edx
jb 0x52ecf0
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov ebp, dword [esi + 4]
mov edx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
sub ebp, eax
cmp byte [edi + 0x124], 0
mov eax, 0x40d
je 0x52ed4c
mov eax, 0x41d
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 3
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 2
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov cl, byte [edi + 0x11e]
mov byte [eax], cl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov dl, byte [edi + 0x11f]
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
add ecx, ebp
mov dword [esi + 4], ecx
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
sub eax, ebp
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
lea ebp, [ecx + edx]
mov dword [esi + 4], ebp
sub ebp, ecx
lea edx, [ebp + 0x40]
mov dword [esp + 0xc], eax
cmp edx, eax
jbe 0x52ee89
lea edx, [eax + 0x40]
cmp eax, edx
jae 0x52ee89
add eax, eax
cmp eax, edx
jb 0x52ee55
push eax
push ecx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov ecx, dword [esi]
lea eax, [ecx + ebp]
add esp, 0x14
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
sub eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], 0
add dword [esi + 4], 4
movzx ecx, word [edi + 0xe8]
mov ebp, dword [esi + 4]
movzx dx, byte [edi + 0x121]
mov byte [ebp], cl
add dword [esi + 4], ebx
mov ebp, dword [esi + 4]
shr ecx, 8
mov byte [ebp], cl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x108]
mov ebp, dword [esi + 4]
mov byte [ebp], cl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x109]
mov ebp, dword [esi + 4]
mov byte [ebp], cl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x10c]
mov ebp, dword [esi + 4]
mov byte [ebp], cl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x10d]
mov ebp, dword [esi + 4]
mov byte [ebp], cl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx edx, dx
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0xc
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
mov ebp, ecx
sub ecx, eax
add eax, edx
mov dword [esi + 4], eax
mov byte [eax], 2
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
movzx ecx, cx
mov byte [eax], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x40]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f024
lea edx, [ecx + 0x40]
cmp ecx, edx
jae 0x52f024
mov edi, edi
add ecx, ecx
cmp ecx, edx
jb 0x52eff0
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ebp, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
xor edx, edx
sub ebp, eax
lea eax, [edx + 0x2a]
cmp byte [edi + 0x122], dl
je 0x52f04e
lea edx, [eax - 0x28]
mov eax, 0xaa
cmp byte [edi + 0x11d], 0
je 0x52f05f
or edx, 4
or eax, 0x80
pxor xmm0, xmm0
movq qword [ecx], xmm0
movq qword [ecx + 8], xmm0
add dword [esi + 4], 0x10
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0x14
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], bl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x64]
mov eax, dword [esi + 4]
movq xmm0, qword [ecx]
movq qword [eax], xmm0
movq xmm0, qword [ecx + 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [ecx + 0x18]
movq qword [eax + 0x18], xmm0
add dword [esi + 4], 0x20
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
shr edx, 8
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0x84
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 3
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
add ecx, ebp
mov dword [esi + 4], ecx
mov byte [ecx], 3
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
sub eax, ebp
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea ebp, [eax + edx]
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x40]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f267
lea edx, [ecx + 0x40]
cmp ecx, edx
jae 0x52f267
add ecx, ecx
cmp ecx, edx
jb 0x52f233
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov ebp, dword [esi + 4]
mov edx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
sub ebp, eax
cmp byte [edi + 0x117], 0
mov eax, 2
je 0x52f28f
mov eax, 3
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 5
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx + 4]
mov edx, dword [esi + 4]
shl eax, 0x1f
or eax, dword [ecx]
mov byte [edx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx + 0xc]
mov edx, dword [esi + 4]
add ecx, 8
shl eax, 0x1f
or eax, dword [ecx]
mov byte [edx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx + 0x14]
mov edx, dword [esi + 4]
add ecx, 0x10
shl eax, 0x1f
or eax, dword [ecx]
mov byte [edx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x10]
mov edx, dword [esi + 4]
movzx eax, byte [ecx + 0x1c]
add ecx, 0x18
shl eax, 0x1f
or eax, dword [ecx]
pxor xmm0, xmm0
mov byte [edx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx + 0x24]
mov edx, dword [esi + 4]
add ecx, 0x20
shl eax, 0x1f
or eax, dword [ecx]
mov byte [edx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr eax, 0x18
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
movq qword [eax], xmm0
mov dword [eax + 8], 0
add dword [esi + 4], 0xc
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
add ecx, ebp
mov dword [esi + 4], ecx
mov byte [ecx], 0x13
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
sub eax, ebp
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea ebp, [eax + edx]
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f473
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52f473
nop
add ecx, ecx
cmp ecx, edx
jb 0x52f440
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
add esp, 0x14
add ebp, eax
mov dword [esi + 4], ebp
mov ecx, dword [esi + 4]
sub ecx, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov ebp, dword [esi + 4]
xor edx, edx
cmp byte [edi + 0x118], dl
setne dl
movzx eax, dx
mov byte [ebp], al
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx], al
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0x14
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
cmp dword [edi + 0x98], 0
mov eax, dword [esi + 4]
je 0x52f4d7
mov byte [eax], 0x14
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 8
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x80]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f55b
lea edx, [ecx + 0x80]
cmp ecx, edx
jae 0x52f55b
add ecx, ecx
cmp ecx, edx
jb 0x52f528
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
add esp, 0x14
add ebp, eax
mov dword [esi + 4], ebp
mov ebp, dword [esi + 4]
sub ebp, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [esi + 4]
mov byte [eax], 0x3d
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 9
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 4
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 4
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0xc
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
push 0x40
push 0
push eax
call fcn.00516180
add dword [esi + 4], 0x40
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
mov edx, eax
sub eax, ebp
add esp, 0xc
add ebp, ecx
mov dword [esi + 4], ebp
movzx eax, ax
mov byte [ebp], 0xd
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea ebp, [edx + eax]
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f6b8
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52f6b8
add ecx, ecx
cmp ecx, edx
jb 0x52f685
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
add esp, 0x14
add ebp, eax
mov dword [esi + 4], ebp
mov ecx, dword [esi + 4]
sub ecx, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [esi + 4]
mov byte [eax], 2
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0xf
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x40]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52f773
lea edx, [ecx + 0x40]
cmp ecx, edx
jae 0x52f773
lea esp, [esp]
add ecx, ecx
cmp ecx, edx
jb 0x52f740
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
add esp, 0x14
add ebp, eax
mov dword [esi + 4], ebp
mov ebp, dword [esi + 4]
sub ebp, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [edi + 0xc]
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 1]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 4]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 5]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 6]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
add eax, 4
movzx eax, byte [eax + 3]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 8]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 9]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0xa]
mov ecx, dword [esi + 4]
add eax, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0xc]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0xd]
mov ecx, dword [esi + 4]
add eax, 0xc
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x10]
mov ecx, dword [esi + 4]
add eax, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 1]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x14]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x15]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x16]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
add eax, 0x14
movzx eax, byte [eax + 3]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x18]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x19]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x1a]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
add eax, 0x18
movzx eax, byte [eax + 3]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x1c]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x1d]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x1e]
mov ecx, dword [esi + 4]
add eax, 0x1c
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x20]
mov ecx, dword [esi + 4]
add eax, 0x20
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 1]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 0xc]
movzx edx, byte [eax + 0x24]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x25]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 0x26]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
add eax, 0x24
movzx eax, byte [eax + 3]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [edi + 8]
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 1]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
add dword [esi + 4], ebx
movzx eax, byte [eax + 3]
mov ecx, dword [esi + 4]
mov byte [ecx], al
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov cl, byte [edi + 0xb4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xb5]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, ecx
mov edx, eax
sub eax, ebp
add ebp, ecx
mov dword [esi + 4], ebp
mov byte [ebp], 0x10
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea ebp, [eax + edx]
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52fa84
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52fa84
mov edi, edi
add ecx, ecx
cmp ecx, edx
jb 0x52fa50
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
sub ecx, eax
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
movzx eax, byte [edi + 0x84]
mov ebp, dword [esi + 4]
mov byte [ebp], al
add dword [esi + 4], ebx
movzx edx, byte [edi + 0x85]
mov ebp, dword [esi + 4]
mov byte [ebp], dl
add dword [esi + 4], ebx
movzx eax, byte [edi + 0x86]
mov ebp, dword [esi + 4]
mov byte [ebp], al
add dword [esi + 4], ebx
movzx edx, byte [edi + 0x87]
mov ebp, dword [esi + 4]
mov byte [ebp], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0x14
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52fb7c
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52fb7c
add ecx, ecx
cmp ecx, edx
jb 0x52fb48
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
sub ecx, eax
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0xc
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
add ebp, ecx
mov dword [esi + 4], ebp
sub ebp, ecx
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], eax
cmp edx, eax
jbe 0x52fc34
lea edx, [eax + 0x20]
cmp eax, edx
jae 0x52fc34
add eax, eax
cmp eax, edx
jb 0x52fc00
push eax
push ecx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov ecx, dword [esi]
lea eax, [ecx + ebp]
add esp, 0x14
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
sub eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], 0
add dword [esi + 4], 4
movzx ecx, byte [edi + 0x12c]
mov edx, dword [esi + 4]
neg ecx
sbb ecx, ecx
and ecx, 0x3ea
movzx ecx, cx
mov byte [edx], cl
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx], cl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
mov ebp, ecx
sub ecx, eax
add eax, edx
mov dword [esi + 4], eax
mov byte [eax], 9
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
movzx ecx, cx
mov byte [eax], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52fd04
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52fd04
lea ecx, [ecx]
add ecx, ecx
cmp ecx, edx
jb 0x52fcd0
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
sub ecx, eax
mov eax, dword [esi + 4]
mov byte [eax], bl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0xe
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
add ebp, ecx
mov dword [esi + 4], ebp
sub ebp, ecx
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], eax
cmp edx, eax
jbe 0x52fdbb
lea edx, [eax + 0x20]
cmp eax, edx
jae 0x52fdbb
add eax, eax
cmp eax, edx
jb 0x52fd87
push eax
push ecx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov ecx, dword [esi]
lea eax, [ecx + ebp]
add esp, 0x14
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
sub eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 2
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 2
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
mov ebp, ecx
sub ecx, eax
add eax, edx
mov dword [esi + 4], eax
mov byte [eax], 5
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
movzx ecx, cx
mov byte [eax], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x52fe97
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x52fe97
add ecx, ecx
cmp ecx, edx
jb 0x52fe63
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
lea ecx, [eax + ebp]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
sub ecx, eax
mov eax, dword [esi + 4]
mov byte [eax], 6
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0xa
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
add ebp, ecx
mov dword [esi + 4], ebp
sub ebp, ecx
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], eax
cmp edx, eax
jbe 0x52ff54
lea edx, [eax + 0x20]
cmp eax, edx
jae 0x52ff54
jmp 0x52ff20
add eax, eax
cmp eax, edx
jb 0x52ff20
push eax
push ecx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
call fcn.00510b04
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
sub edx, ecx
push edx
add ecx, eax
push 0
push ecx
mov dword [esi], eax
call fcn.00516180
mov ecx, dword [esi]
lea eax, [ecx + ebp]
add esp, 0x14
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
sub eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
mov ebp, ecx
sub ecx, eax
add eax, edx
mov dword [esi + 4], eax
mov byte [eax], 7
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
movzx ecx, cx
mov byte [eax], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov eax, dword [esi]
add ebp, eax
mov dword [esi + 4], ebp
cmp dword [edi + 0x90], 0
je 0x530118
mov edx, ebp
mov ebp, dword [esi + 0xc]
sub edx, eax
mov dword [esp + 0x14], edx
xor ecx, ecx
add edx, 0x20
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], ecx
cmp edx, ebp
jbe 0x530058
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x530058
mov ecx, ebp
jmp 0x530020
add ecx, ecx
cmp ecx, edx
jb 0x530020
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
add ebp, eax
push 0
push ebp
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x28]
lea ecx, [eax + edx]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x20]
add esp, 0x14
mov ebp, dword [esi + 4]
mov edx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
sub ebp, eax
cmp dword [edi + 0x90], 0
mov eax, dword [esi + 4]
je 0x53007c
mov dword [esp + 0xc], ebx
mov ecx, ebx
mov byte [eax], cl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, ecx
shr edx, 8
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, ecx
shr edx, 0x10
mov byte [eax], dl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
shr ecx, 0x18
mov byte [eax], cl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0xa0]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xa1]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0xa4]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xa5]
mov eax, dword [esi + 4]
mov byte [eax], dl
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add edx, ebp
mov dword [esi + 4], edx
mov byte [edx], 0x11
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
add ecx, ebx
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov eax, ecx
sub eax, ebp
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
cmp byte [edi + 0x116], 0
je 0x530239
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x530179
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x530179
mov ecx, ebp
add ecx, ecx
cmp ecx, edx
jb 0x530145
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
sub edx, ebp
push edx
add ebp, eax
push 0
push ebp
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx]
add esp, 0x14
mov dword [esi + 4], edx
mov ebp, dword [esi + 4]
sub ebp, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
movzx eax, byte [edi + 0x116]
mov ecx, dword [esi + 4]
neg eax
sbb eax, eax
and eax, 2
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x80]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0x81]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0x9c]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0x9d]
mov eax, dword [esi + 4]
mov byte [eax], dl
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add ecx, ebx
mov eax, ecx
sub eax, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x15
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [edi + 0x60]
cmp byte [edx + 0x1b], 0
je 0x530311
cmp dword [edi + 0x98], 0
je 0x530311
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x5302a7
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x5302a7
mov ecx, ebp
add ecx, ecx
cmp ecx, edx
jb 0x530273
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
mov dword [esi], eax
add eax, ebp
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
lea ecx, [eax + edx]
add esp, 0x14
mov dword [esi + 4], ecx
mov ebp, dword [esi + 4]
mov edx, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
sub ebp, eax
xor eax, eax
cmp dword [edi + 0x98], eax
setne al
movzx eax, ax
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx], al
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add ecx, ebx
mov eax, ecx
sub eax, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x1b
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
cmp byte [edi + 0x125], 0
je 0x5304b1
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], 2
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x40
cmp ecx, ebp
jbe 0x530373
lea edx, [ebp + 0x40]
cmp ebp, edx
jae 0x530373
mov ecx, ebp
nop
add ecx, ecx
cmp ecx, edx
jb 0x530340
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
add ebp, eax
push 0
push ebp
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
add esp, 0x14
add edx, eax
mov dword [esi + 4], edx
mov ecx, dword [esi + 4]
sub ecx, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [esi + 4]
mov byte [eax], bl
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
mov ebp, eax
sub eax, ecx
add ecx, edx
mov dword [esi + 4], ecx
mov byte [ecx], 0x17
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov byte [ecx], 0
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
movzx eax, ax
mov byte [ecx], al
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
add ebp, eax
mov dword [esi + 4], ebp
sub ebp, eax
lea edx, [ebp + 0x20]
mov dword [esp + 0xc], ecx
cmp edx, ecx
jbe 0x530429
lea edx, [ecx + 0x20]
cmp ecx, edx
jae 0x530429
add ecx, ecx
cmp ecx, edx
jb 0x5303f6
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
sub edx, ecx
push edx
mov dword [esi], eax
add eax, ecx
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
add esp, 0x14
add ebp, eax
mov dword [esi + 4], ebp
mov ebp, dword [esi + 4]
sub ebp, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [esi + 4]
mov byte [eax], 2
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 3
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0xc
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add ecx, ebx
mov eax, ecx
sub eax, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x18
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edi + 0x60]
cmp byte [ecx + 0x1a], 0
je 0x530598
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x530513
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x530513
mov ecx, ebp
mov edi, edi
add ecx, ecx
cmp ecx, edx
jb 0x5304e0
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
sub edx, ebp
push edx
add ebp, eax
push 0
push ebp
mov dword [esi], eax
call fcn.00516180
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
add esp, 0x14
add ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ebp, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
movzx ecx, byte [edi + 0xa8]
sub ebp, eax
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xa9]
mov eax, dword [esi + 4]
mov byte [eax], dl
add dword [esi + 4], ebx
movzx ecx, byte [edi + 0xaa]
mov eax, dword [esi + 4]
mov byte [eax], cl
add dword [esi + 4], ebx
movzx edx, byte [edi + 0xab]
mov eax, dword [esi + 4]
mov byte [eax], dl
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add ecx, ebx
mov eax, ecx
sub eax, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x1a
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edi + 0x60]
cmp byte [ecx + 0x1c], 0
je 0x53068a
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x5305f9
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x5305f9
mov ecx, ebp
add ecx, ecx
cmp ecx, edx
jb 0x5305c5
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov edx, dword [esi + 0xc]
sub edx, ebp
push edx
mov dword [esi], eax
add eax, ebp
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx]
add esp, 0x14
mov dword [esi + 4], edx
mov ebp, dword [esi + 4]
sub ebp, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov eax, dword [esi + 4]
mov byte [eax], 0x52
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
add dword [esi + 4], ebx
mov eax, dword [esi + 4]
mov byte [eax], 0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
add ecx, ebx
mov eax, ecx
sub eax, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x1c
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [edi + 0x60]
cmp byte [edx + 0x1d], 0
je 0x53075a
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x40
cmp ecx, ebp
jbe 0x5306eb
lea edx, [ebp + 0x40]
cmp ebp, edx
jae 0x5306eb
mov ecx, ebp
add ecx, ecx
cmp ecx, edx
jb 0x5306b7
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
mov dword [esi], eax
add eax, ebp
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
lea ecx, [eax + edx]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
sub edx, eax
mov eax, dword [esi + 4]
mov dword [eax], 0
add dword [esi + 4], 4
mov cl, byte [edi + 0x12e]
xor al, al
test cl, cl
je 0x530711
mov byte [edi + 0x11b], bl
mov al, bl
cmp byte [edi + 0x11b], 0
je 0x53071c
add al, bl
mov ecx, dword [esi + 4]
mov byte [ecx], al
mov ecx, dword [esi + 4]
mov ebp, dword [esi]
sub ecx, ebp
add ecx, ebx
mov eax, ecx
sub eax, edx
add edx, ebp
mov dword [esi + 4], edx
mov byte [edx], 0x1d
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx eax, ax
mov byte [edx], al
mov edx, dword [esi + 4]
shr eax, 8
mov byte [edx + 1], al
mov eax, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [edi + 0x60]
cmp byte [edx + 0x1e], 0
je 0x530846
cmp dword [edi + 0x8c], 0
jbe 0x530850
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x5307c8
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x5307c8
mov ecx, ebp
add ecx, ecx
cmp ecx, edx
jb 0x530794
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
mov dword [esi], eax
add eax, ebp
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
lea ecx, [eax + edx]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ebp, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov ecx, dword [esi + 4]
sub ebp, eax
mov eax, dword [edi + 0x8c]
mov byte [ecx], al
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 8
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
add dword [esi + 4], ebx
mov ecx, dword [esi + 4]
shr eax, 0x18
mov byte [ecx], al
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
add eax, ebx
mov ecx, eax
sub ecx, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 0x1e
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx ecx, cx
mov byte [edx], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov ecx, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
jmp 0x530850
mov dword [edi + 0x8c], 0
mov edx, dword [edi + 0x60]
cmp byte [edx + 6], 0
je 0x53091b
cmp dword [edi + 0x94], 0
je 0x53091b
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 0xc]
add dword [esp + 0x10], ebx
sub ecx, eax
mov dword [esp + 0xc], ecx
add ecx, 0x20
cmp ecx, ebp
jbe 0x5308c4
lea edx, [ebp + 0x20]
cmp ebp, edx
jae 0x5308c4
mov ecx, ebp
lea esp, [esp]
add ecx, ecx
cmp ecx, edx
jb 0x530890
push ecx
push eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
call fcn.00510b04
mov ecx, dword [esi + 0xc]
sub ecx, ebp
push ecx
mov dword [esi], eax
add eax, ebp
push 0
push eax
call fcn.00516180
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
lea ecx, [eax + edx]
add esp, 0x14
mov dword [esi + 4], ecx
mov edx, dword [esi + 4]
mov ebp, dword [esi + 4]
mov dword [edx], 0
add dword [esi + 4], 4
mov cl, byte [edi + 0x94]
sub ebp, eax
mov eax, dword [esi + 4]
mov byte [eax], cl
mov eax, dword [esi + 4]
mov edx, dword [esi]
sub eax, edx
add eax, ebx
mov ecx, eax
sub ecx, ebp
add ebp, edx
mov dword [esi + 4], ebp
mov byte [ebp], 6
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
mov byte [edx], 0
add dword [esi + 4], ebx
mov edx, dword [esi + 4]
movzx ecx, cx
mov byte [edx], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov ecx, dword [esi]
add ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add edx, ecx
sub eax, ecx
mov dword [esi + 4], edx
mov ecx, eax
sub ecx, edi
movzx ecx, cx
mov byte [edx], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov ecx, dword [esi]
lea edx, [ecx + edi]
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], edx
mov byte [edx], cl
mov edx, dword [esi + 4]
shr ecx, 8
mov byte [edx + 1], cl
mov ecx, dword [esi]
pop edi
add ecx, eax
pop ebp
mov dword [esi + 4], ecx
pop ebx
add esp, 0x14
ret