Function at 0x51a4a7
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0xc8
push ebx
push esi
mov esi, dword [ebp + 0x74]
mov ecx, dword [esi]
xor eax, eax
push edi
mov edi, dword [ebp + 0x78]
inc eax
xor ebx, ebx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], ecx
cmp edi, ebx
je 0x51af8a
cmp byte [ecx + 0x1e], bl
jne 0x51af8a
cmp dword [esi + 0x40], ebx
jne 0x51af8a
push ebx
push ebx
push ebx
push 0x15
push esi
call fcn.00516b0e
add esp, 0x14
test eax, eax
je 0x51a4fc
xor eax, eax
inc eax
jmp 0x51af8a
push 0x2c
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.00537010
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp byte [eax], 4
ja 0x51a52c
push dword [edi + 0x18]
push dword [ebp + 0x54]
call fcn.0051d54f
pop ecx
mov eax, 0xfffe
and word [edi + 6], ax
pop ecx
mov dword [edi + 0x18], ebx
push ebx
push edi
push esi
call fcn.005195d0
mov eax, dword [edi + 0x18]
mov dword [ebp + 0x58], eax
mov eax, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x44], eax
cmp dword [esi + 0x40], ebx
jne 0x51af6e
mov eax, dword [ebp + 0x54]
cmp byte [eax + 0x1e], bl
jne 0x51af6e
movzx eax, word [edi + 6]
shr eax, 2
and eax, 1
push esi
mov dword [ebp + 0x64], eax
call fcn.005183aa
pop ecx
mov dword [ebp + 0x68], eax
cmp eax, ebx
je 0x51af6e
mov dword [ebp + 0x74], ebx
cmp dword [edi + 0x1c], ebx
jne 0x51a660
mov ecx, dword [ebp + 0x44]
movsx eax, word [ecx]
cmp dword [ebp + 0x74], eax
jge 0x51a660
mov eax, dword [ebp + 0x74]
imul eax, eax, 0x38
lea eax, [eax + ecx + 8]
mov edx, dword [eax + 0x10]
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x5c], edx
cmp edx, ebx
je 0x51a654
cmp byte [eax + 0x14], bl
jne 0x51a654
push edi
call fcn.0051cfb6
add dword [esi + 0x214], eax
mov eax, dword [ebp + 0x5c]
movzx eax, word [eax + 6]
shr eax, 2
and eax, 1
push eax
push dword [ebp + 0x64]
mov dword [ebp + 0x48], eax
push dword [ebp + 0x74]
mov eax, edi
push esi
call fcn.00519ff3
add esp, 0x14
test eax, eax
je 0x51a5ff
cmp dword [ebp + 0x48], ebx
je 0x51a5f9
or word [edi + 6], 4
mov dword [ebp + 0x64], 1
or dword [ebp + 0x74], 0xffffffff
jmp 0x51a627
mov eax, dword [ebp + 0x4c]
push dword [eax + 0x18]
lea eax, [ebp - 0x5c]
push 9
push eax
call fcn.0051710b
lea eax, [ebp - 0x5c]
push eax
push dword [ebp + 0x5c]
push esi
call fcn.0051a4a7
mov eax, dword [ebp + 0x4c]
add esp, 0x18
mov byte [eax + 0x14], 1
mov eax, dword [ebp + 0x54]
cmp byte [eax + 0x1e], bl
jne 0x51af6e
push edi
call fcn.0051cfb6
sub dword [esi + 0x214], eax
mov eax, dword [ebp + 0x7c]
cmp byte [eax], 4
pop ecx
mov ecx, dword [edi + 8]
mov dword [ebp + 0x44], ecx
jbe 0x51a654
mov eax, dword [edi + 0x18]
mov dword [ebp + 0x58], eax
inc dword [ebp + 0x74]
cmp dword [edi + 0x1c], ebx
je 0x51a586
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
mov dword [ebp + 0x3c], eax
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x60], eax
mov eax, dword [edi + 0x14]
mov dword [ebp + 0x18], eax
movzx eax, word [edi + 6]
and eax, 1
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x5c], eax
cmp dword [edi + 0x1c], ebx
je 0x51a6d3
cmp dword [edi + 0x24], ebx
jne 0x51a6c1
xor ecx, ecx
xor edx, edx
mov eax, edi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edi
mov ecx, eax
mov eax, dword [eax + 0x1c]
inc edx
cmp eax, ebx
jne 0x51a691
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 0x58]
cmp eax, ebx
je 0x51a6c1
cmp edx, eax
jle 0x51a6c1
push str.too_many_terms_in_compound_SELECT
push esi
call fcn.004fae19
pop ecx
pop ecx
jmp 0x51a4f4
push dword [ebp + 0x7c]
push edi
push esi
call fcn.0051994d
add esp, 0xc
jmp 0x51af8a
push dword [ecx]
mov eax, dword [ebp + 0x7c]
push esi
call fcn.00517781
pop ecx
pop ecx
test eax, eax
jne 0x51af6e
mov al, byte [edi + 6]
and al, 5
cmp al, 1
jne 0x51a711
push ebx
push dword [edi]
push dword [ebp + 0x54]
call fcn.0051d33a
mov dword [edi + 0x10], eax
mov dword [ebp + 0x60], eax
mov eax, 0xfffe
add esp, 0xc
and word [edi + 6], ax
mov dword [ebp + 0x5c], ebx
cmp dword [ebp + 0x58], ebx
je 0x51a74f
push dword [ebp + 0x58]
push esi
call fcn.00517af4
mov ecx, dword [esi + 0x44]
mov edx, dword [ebp + 0x58]
push 0xfffffffffffffff0
mov dword [edx + 8], ecx
inc dword [esi + 0x44]
push eax
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax]
push ebx
inc ecx
inc ecx
push ecx
push dword [eax + 8]
push 0x28
push dword [ebp + 0x68]
call fcn.00501088
add esp, 0x24
mov dword [ebp + 0x74], eax
mov dword [edi + 0x40], eax
jmp 0x51a753
or dword [ebp + 0x74], 0xffffffff
mov eax, dword [ebp + 0x7c]
cmp byte [eax], 9
jne 0x51a770
mov ecx, dword [ebp + 0x28]
push dword [ecx]
push dword [eax + 4]
push 0x28
push dword [ebp + 0x68]
call fcn.004fefea
add esp, 0x10
push dword [ebp + 0x68]
call fcn.004ff005
mov dword [ebp - 0x20], eax
push eax
mov eax, edi
mov ecx, esi
call fcn.005183da
pop ecx
pop ecx
cmp dword [ebp + 0x5c], ebx
je 0x51a7b5
mov eax, dword [esi + 0x44]
mov dword [ebp + 0x38], eax
inc eax
mov dword [esi + 0x44], eax
push dword [edi]
push esi
call fcn.00517af4
push 0xfffffffffffffff0
push eax
push ebx
push ebx
push dword [ebp + 0x38]
push 0x28
push dword [ebp + 0x68]
call fcn.00501088
add esp, 0x24
jmp 0x51a7b9
or dword [ebp + 0x38], 0xffffffff
cmp dword [ebp + 0x64], ebx
jne 0x51a82e
cmp dword [ebp + 0x60], ebx
jne 0x51a833
push ebx
lea eax, [ebp + 0x58]
push eax
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push esi
call fcn.0052afbe
add esp, 0x14
mov dword [ebp + 0x30], eax
cmp eax, ebx
je 0x51af6e
cmp dword [ebp + 0x74], ebx
jl 0x51a800
cmp dword [ebp + 0x58], ebx
jne 0x51a800
push 1
push dword [ebp + 0x74]
push dword [ebp + 0x68]
call fcn.00500b39
add esp, 0xc
or dword [edi + 0x40], 0xffffffff
mov eax, dword [ebp + 0x30]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp + 0x7c]
push 0xffffffffffffffff
push dword [ebp + 0x58]
push ebx
push ebx
push dword [ebp + 0x28]
mov ebx, esi
push edi
call fcn.005177ac
push dword [ebp + 0x30]
call fcn.005291b6
add esp, 0x24
jmp 0x51af2b
cmp dword [ebp + 0x60], ebx
je 0x51a86a
mov eax, dword [edi]
mov ecx, dword [eax]
cmp ecx, ebx
mov eax, dword [eax + 0xc]
jle 0x51a84e
add eax, 0x10
xor edx, edx
mov word [eax], dx
dec ecx
add eax, 0x14
cmp ecx, ebx
jg 0x51a841
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
cmp eax, ebx
mov ecx, dword [ecx + 0xc]
jle 0x51a86a
add ecx, 0x10
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
cmp eax, ebx
jg 0x51a85d
push dword [ebp + 0x68]
call fcn.004ff005
push 0x24
mov dword [ebp + 0x40], eax
lea eax, [ebp - 0x4c]
push ebx
push eax
call fcn.00537010
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x60]
add esp, 0x10
mov dword [ebp - 0x4c], esi
cmp eax, ebx
je 0x51a8a2
mov ecx, dword [eax]
inc ecx
mov dword [ebp - 0x10], ecx
jmp 0x51a8a5
mov dword [ebp - 0x10], ebx
push dword [ebp + 0x28]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0051e15a
push dword [ebp + 0x58]
lea eax, [ebp - 0x4c]
push eax
call fcn.0051e15a
add esp, 0x10
cmp dword [ebp + 0x18], ebx
je 0x51a8d6
push dword [ebp + 0x18]
lea eax, [ebp - 0x4c]
push eax
call fcn.0051e130
pop ecx
pop ecx
cmp dword [ebp + 8], ebx
mov eax, dword [ebp - 8]
mov dword [ebp], eax
mov dword [ebp + 0x74], ebx
jle 0x51a90d
mov dword [ebp + 0x64], ebx
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 0x64]
mov eax, dword [ecx + eax]
push dword [eax + 0x10]
lea eax, [ebp - 0x4c]
push eax
call fcn.0051e15a
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
add dword [ebp + 0x64], 0x10
cmp eax, dword [ebp + 8]
pop ecx
pop ecx
jl 0x51a8e7
mov eax, dword [ebp + 0x54]
cmp byte [eax + 0x1e], bl
jne 0x51af6e
cmp dword [ebp + 0x60], ebx
je 0x51ad25
mov eax, dword [esi + 0x44]
push dword [ebp + 0x60]
mov dword [ebp - 0x18], eax
inc eax
push esi
mov dword [esi + 0x44], eax
call fcn.00517af4
push 0xfffffffffffffff0
push eax
push ebx
push dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x18]
push 0x28
push dword [ebp + 0x68]
call fcn.00501088
push dword [ebp + 0x68]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x48]
inc eax
mov dword [ebp + 0x34], eax
inc eax
mov dword [ebp + 0x10], eax
inc eax
mov dword [ebp + 0x24], eax
mov dword [esi + 0x48], eax
call fcn.004ff005
inc dword [esi + 0x48]
push dword [ebp + 0x68]
mov dword [ebp + 0x14], eax
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x5c], eax
call fcn.004ff005
push dword [ebp + 0x10]
mov dword [ebp + 0x4c], eax
mov eax, dword [esi + 0x48]
lea ecx, [eax + 1]
mov dword [ebp + 0x48], ecx
mov ecx, dword [ebp + 0x60]
mov edx, dword [ecx]
add eax, edx
mov dword [esi + 0x48], eax
mov ecx, dword [ecx]
push ebx
push 7
push dword [ebp + 0x68]
lea edx, [eax + 1]
add ecx, eax
mov dword [ebp + 0x64], edx
mov dword [esi + 0x48], ecx
call fcn.004fefea
push dword [ebp + 0x34]
push ebx
push 7
push dword [ebp + 0x68]
call fcn.004fefea
add esp, 0x4c
push dword [ebp + 0x4c]
push dword [ebp + 0x5c]
push 2
push dword [ebp + 0x68]
call fcn.004fefea
push ebx
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push esi
call fcn.0052afbe
add esp, 0x24
mov dword [ebp + 0x30], eax
cmp eax, ebx
je 0x51af6e
mov eax, dword [ebp + 0x60]
cmp eax, ebx
jne 0x51aa03
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], ebx
jmp 0x51ab2c
mov edi, dword [eax]
mov edx, dword [ebp - 8]
cmp edx, ebx
lea eax, [edi + 1]
mov dword [ebp + 0x3c], 1
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x20], eax
jle 0x51aa35
mov ecx, dword [ebp - 0xc]
add ecx, 0xc
mov dword [ebp + 0x74], edx
cmp dword [ecx], eax
jl 0x51aa2d
inc dword [ebp + 0x20]
inc eax
add ecx, 0x18
dec dword [ebp + 0x74]
jne 0x51aa25
push dword [ebp + 0x20]
push esi
call fcn.0051e1e2
push esi
mov dword [ebp + 0x1c], eax
call fcn.0051daf8
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x60]
push esi
call fcn.0051dca7
mov eax, dword [ebp + 0x1c]
add eax, edi
push eax
push dword [ebp - 0x18]
push 0x34
push dword [ebp + 0x68]
call fcn.004fefea
mov edi, dword [ebp + 0x50]
add esp, 0x2c
cmp dword [ebp - 8], ebx
mov dword [ebp + 0x74], ebx
jle 0x51aaca
mov eax, dword [ebp + 0x1c]
add eax, edi
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x50], ebx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x50]
add eax, ecx
cmp dword [eax + 0xc], edi
jl 0x51aabb
push dword [ebp + 0x2c]
push dword [eax + 4]
push dword [eax + 8]
push dword [eax]
push esi
call fcn.0051da44
add esp, 0x14
cmp dword [ebp + 0x2c], eax
je 0x51aab7
push dword [ebp + 0x2c]
push eax
push 0xf
push dword [ebp + 0x68]
call fcn.004fefea
add esp, 0x10
inc edi
inc dword [ebp + 0x2c]
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
add dword [ebp + 0x50], 0x18
cmp eax, dword [ebp - 8]
jl 0x51aa80
push esi
call fcn.0051e187
mov edi, eax
push edi
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push 0x1e
push dword [ebp + 0x68]
call fcn.004fef67
push edi
push dword [ebp - 0x18]
push 0x43
push dword [ebp + 0x68]
call fcn.004fefea
push edi
push esi
call fcn.0051e1a6
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
call fcn.0051e211
push dword [ebp + 0x30]
call fcn.005291b6
add esp, 0x40
push dword [ebp + 0x40]
push dword [ebp - 0x18]
push 0x3f
push dword [ebp + 0x68]
call fcn.004fefea
push esi
mov byte [ebp - 0x1b], 1
call fcn.0051daf8
add esp, 0x14
push dword [ebp + 0x68]
call fcn.004ff11e
push esi
mov dword [ebp + 0x50], eax
call fcn.0051daf8
mov eax, dword [ebp + 0x60]
pop ecx
xor edi, edi
cmp dword [eax], ebx
pop ecx
jle 0x51ab91
mov dword [ebp + 0x74], ebx
cmp dword [ebp + 0x3c], ebx
je 0x51ab69
mov eax, dword [ebp + 0x64]
add eax, edi
push eax
push edi
push dword [ebp - 0x18]
push 0x1c
push dword [ebp + 0x68]
call fcn.004fef67
add esp, 0x14
jmp 0x51ab85
mov ecx, dword [ebp + 0x64]
add ecx, edi
push ecx
mov ecx, dword [ebp + 0x74]
mov byte [ebp - 0x1c], 1
mov eax, dword [eax + 0xc]
push dword [eax + ecx]
push esi
call fcn.0051dbd7
add esp, 0xc
mov eax, dword [ebp + 0x60]
add dword [ebp + 0x74], 0x14
inc edi
cmp edi, dword [eax]
jl 0x51ab4b
mov edi, dword [ebp + 0x68]
push 0xfffffffffffffffa
push dword [ebp - 0x24]
push dword [eax]
push dword [ebp + 0x64]
push dword [ebp + 0x48]
push 0x18
push edi
call fcn.00501088
push edi
call fcn.004ff11e
mov dword [ebp + 0x74], eax
inc eax
push eax
push ebx
push eax
push 0x19
push edi
call fcn.004fef67
mov eax, dword [ebp + 0x60]
push dword [eax]
push dword [ebp + 0x48]
push dword [ebp + 0x64]
push esi
call fcn.0051db1f
add esp, 0x44
push dword [ebp + 0x14]
push dword [ebp + 0x24]
push 2
push edi
call fcn.004fefea
push dword [ebp + 0x40]
push dword [ebp + 0x10]
push 0x70
push edi
call fcn.004fefea
push dword [ebp + 0x4c]
push dword [ebp + 0x5c]
push 2
push edi
call fcn.004fefea
push dword [ebp + 0x74]
push edi
call fcn.004ff24e
lea ebx, [ebp - 0x1c]
mov eax, esi
call fcn.0051972b
push dword [ebp + 0x34]
xor ebx, ebx
inc ebx
push ebx
push 7
push edi
call fcn.004fefea
add esp, 0x48
cmp dword [ebp + 0x3c], 0
je 0x51ac37
push dword [ebp + 0x50]
push dword [ebp - 0x18]
push 0x42
push edi
call fcn.004fefea
jmp 0x51ac49
push dword [ebp + 0x30]
call fcn.005291b6
push ebx
push dword [ebp - 0x28]
push edi
call fcn.00500b39
mov edi, dword [ebp + 0x68]
add esp, 0x10
push dword [ebp + 0x14]
push dword [ebp + 0x24]
push 2
push edi
call fcn.004fefea
push dword [ebp + 0x40]
push 0
push ebx
push edi
call fcn.004fefea
push edi
call fcn.004ff11e
push dword [ebp + 0x10]
mov dword [ebp + 0x74], eax
push ebx
push 7
push edi
call fcn.004fefea
push dword [ebp + 0x24]
push 3
push edi
call fcn.004fefd1
add esp, 0x40
push dword [ebp + 0x14]
push edi
call fcn.004ff053
push edi
call fcn.004ff11e
mov ebx, eax
lea eax, [ebx + 2]
push eax
push dword [ebp + 0x34]
push 0x70
push edi
call fcn.004fefea
push dword [ebp + 0x24]
push 3
push edi
call fcn.004fefd1
lea edi, [ebp - 0x1c]
mov eax, esi
call fcn.005196e1
push 8
inc ebx
push ebx
push dword [ebp + 0x18]
push esi
call fcn.0051fddf
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x78]
push ebx
push dword [ebp + 0x38]
mov ebx, esi
push dword [ebp + 0x58]
push 0
push 0
push dword [eax]
push eax
mov eax, dword [ebp + 0x7c]
call fcn.005177ac
add esp, 0x58
push dword [ebp + 0x24]
push 3
push dword [ebp + 0x68]
call fcn.004fefd1
push dword [ebp + 0x4c]
push dword [ebp + 0x68]
call fcn.004ff053
push esi
call fcn.00519623
push dword [ebp + 0x5c]
push 3
push dword [ebp + 0x68]
call fcn.004fefd1
mov edi, dword [ebp + 0x78]
add esp, 0x24
jmp 0x51af1e
lea eax, [ebp - 0x1c]
push eax
mov eax, edi
mov dword [ebp + 0x34], ebx
call fcn.00518fd0
pop ecx
mov dword [ebp + 0x74], eax
cmp eax, ebx
je 0x51ae1e
push dword [eax + 0x44]
push dword [esi]
call fcn.004f5503
mov dword [ebp + 0x5c], eax
mov eax, dword [esi + 0x44]
push dword [ebp + 0x5c]
mov dword [ebp + 0x38], eax
inc eax
mov dword [esi + 0x44], eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax + 0x18]
push esi
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x48], eax
call fcn.004fd350
mov eax, dword [ebp + 0x74]
push dword [eax + 4]
push ebx
push dword [eax + 0x18]
push dword [ebp + 0x5c]
push esi
call fcn.004fb8f6
mov eax, dword [ebp + 0x74]
mov eax, dword [eax + 0x14]
add esp, 0x24
cmp eax, ebx
je 0x51adc9
mov ecx, ebx
cmp ecx, ebx
je 0x51ad99
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jge 0x51ad9b
mov ecx, eax
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x51ad8d
mov dword [ebp + 0x78], ecx
cmp ecx, ebx
je 0x51adc9
mov eax, dword [ecx + 4]
mov ecx, dword [ebp + 0x74]
cmp eax, dword [ecx + 0xc]
jge 0x51adc9
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax + 0x14]
push eax
push esi
mov dword [ebp + 0x48], ecx
call fcn.004fd49a
pop ecx
pop ecx
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x5c]
push dword [ebp + 0x48]
push dword [ebp + 0x38]
push 0x26
push dword [ebp + 0x68]
call fcn.004fef67
add esp, 0x14
cmp dword [ebp + 0x4c], ebx
je 0x51adf6
push 0xfffffffffffffff0
push dword [ebp + 0x4c]
push 0xffffffffffffffff
push dword [ebp + 0x68]
call fcn.00500b86
add esp, 0x10
mov eax, dword [ebp + 4]
push dword [eax + 8]
push dword [ebp + 0x38]
push 0x1f
push dword [ebp + 0x68]
call fcn.004fefea
push dword [ebp + 0x38]
push 0x2a
push dword [ebp + 0x68]
call fcn.004fefd1
add esp, 0x1c
jmp 0x51aee7
mov eax, edi
mov dword [ebp + 0x64], ebx
call fcn.00518f5d
mov byte [ebp + 0x77], al
cmp al, bl
je 0x51ae6d
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edi, dword [ebp + 0x54]
push ebx
push dword [eax + 0x10]
push edi
call fcn.0051d33a
add esp, 0xc
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x34], eax
cmp eax, ebx
je 0x51ae6d
cmp byte [edi + 0x1e], bl
jne 0x51ae6d
mov eax, dword [eax + 0xc]
cmp byte [ebp + 0x77], 1
setne cl
mov byte [eax + 0xc], cl
mov eax, dword [ebp + 0x64]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov byte [eax], 0x98
push esi
lea edi, [ebp - 0x1c]
call fcn.00519623
movzx ax, byte [ebp + 0x77]
movzx eax, ax
push eax
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push esi
call fcn.0052afbe
mov edi, eax
add esp, 0x18
cmp edi, ebx
jne 0x51aeaa
push dword [ebp + 0x34]
push dword [ebp + 0x54]
call fcn.0051d54f
pop ecx
pop ecx
jmp 0x51af6e
lea ebx, [ebp - 0x1c]
mov eax, esi
call fcn.0051972b
xor eax, eax
cmp dword [ebp + 0x64], eax
jne 0x51aed1
cmp byte [ebp + 0x77], al
je 0x51aed1
push dword [edi + 0x14]
push eax
push 1
push dword [ebp + 0x68]
call fcn.004fefea
add esp, 0x10
push edi
call fcn.005291b6
pop ecx
lea edi, [ebp - 0x1c]
mov eax, esi
call fcn.005196e1
mov edi, dword [ebp + 0x78]
xor ebx, ebx
push 8
push dword [ebp + 0x40]
mov dword [ebp + 0x58], ebx
push dword [ebp + 0x18]
push esi
call fcn.0051fddf
push dword [ebp + 0x40]
mov eax, dword [ebp + 0x7c]
push dword [ebp + 0x40]
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push dword [edi]
mov ebx, esi
push edi
call fcn.005177ac
push dword [ebp + 0x34]
push dword [ebp + 0x54]
call fcn.0051d54f
add esp, 0x38
push dword [ebp + 0x40]
push dword [ebp + 0x68]
call fcn.004ff053
pop ecx
pop ecx
cmp dword [ebp + 0x58], 0
je 0x51af46
mov eax, dword [ebp + 0x28]
push dword [eax]
mov ebx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x68]
push edi
push esi
call fcn.00517b8e
add esp, 0xc
push dword [ebp - 0x20]
push dword [ebp + 0x68]
call fcn.004ff053
mov eax, dword [ebp + 0x7c]
and dword [ebp + 0x50], 0
cmp byte [eax], 5
pop ecx
pop ecx
jne 0x51af6e
push dword [ebp + 0x28]
push dword [ebp + 0x44]
push esi
call fcn.00517f93
add esp, 0xc
push dword [ebp - 0xc]
push dword [ebp + 0x54]
call fcn.004f9417
push dword [ebp + 4]
push dword [ebp + 0x54]
call fcn.004f9417
mov eax, dword [ebp + 0x50]
add esp, 0x10
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret