Function at 0x5592b0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58b673
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x5fadc0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea edx, [ebp - 0xf4]
push edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x9c], ecx
mov byte [ebp - 0x52], 1
call fcn.0057ca10
push 0x5bcc28
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0
call fcn.00543980
mov esi, eax
push 0x5bcc28
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 1
call fcn.00543980
mov edi, eax
push 0x5bcde8
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 2
call fcn.00543980
mov ebx, eax
push 0x5bdad8
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 3
call fcn.00543980
push esi
push edi
push ebx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 4
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0xf4]
push edx
mov ecx, 7
call fcn.00582490
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55939b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5593c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5593e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55940a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00569310
mov edi, dword [ebp - 0x4c]
mov byte [ebp - 4], 5
mov eax, dword [edi]
mov eax, dword [eax + 0x158]
sub eax, 0x10
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xc4], esi
lea edx, [ebp - 0xc4]
push edx
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 6
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559470
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x9c]
mov esi, dword [edi]
imul ebx, ebx, 0xca0
mov eax, dword [esi + ebx + 0x207c4]
mov byte [ebp - 0x51], 0
mov dword [ebp - 0x78], ebx
test eax, eax
jle 0x559507
lea ecx, [esi + ebx + 0x20560]
mov dword [ebp - 0xa8], ecx
lea edi, [esi + ebx + 0x20550]
mov dword [ebp - 0x68], eax
jmp 0x5594b0
mov edx, dword [ebp - 0xa8]
cmp byte [edx], 1
je 0x5594f5
mov eax, dword [edi]
mov ecx, 0x5bd770
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5594e8
test dx, dx
je 0x5594e4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5594e8
add eax, 4
add ecx, 4
test dx, dx
jne 0x5594c2
xor eax, eax
jmp 0x5594ed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5594f5
mov byte [ebp - 0x51], 1
add dword [ebp - 0xa8], 0x20
add edi, 0x20
dec dword [ebp - 0x68]
jne 0x5594b0
mov edi, dword [ebp - 0x4c]
inc dword [esi + 0x2fa0c]
mov eax, dword [edi]
mov esi, dword [ebx + eax + 0x1fbfc]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
lea eax, [ebx + eax + 0x1fbfc]
mov eax, dword [edx + 0x10]
mov byte [ebp - 0x45], 0
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x559547
cmp eax, dword [esi - 0x10]
jne 0x559547
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x559580
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x559560
call fcn.00543e90
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x114], edi
mov byte [ebp - 4], 7
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xc4], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x5595ba
cmp eax, dword [edi]
jne 0x5595ba
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x5595f6
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
jne 0x5595d3
call fcn.00543e90
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0xc8], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 8
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x1fbe4]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x1fbe4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x55963c
cmp eax, dword [esi - 0x10]
jne 0x55963c
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x559675
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x559655
call fcn.00543e90
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0xa8], edi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x1fbdc]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x1fbdc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x5596bb
cmp eax, dword [esi - 0x10]
jne 0x5596bb
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x5596f4
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x5596d4
call fcn.00543e90
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x80], edi
push 0x5bcc28
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xa
call fcn.00543980
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xb
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x1fc08]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x1fc08]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x559748
cmp eax, dword [esi - 0x10]
jne 0x559748
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x559781
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x559761
call fcn.00543e90
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x110], edi
mov byte [ebp - 4], 0xc
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xdc], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x5597bb
cmp eax, dword [edi]
jne 0x5597bb
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x5597f7
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
jne 0x5597d4
call fcn.00543e90
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0xd8], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xd
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x1fbf0]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x1fbf0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x55983d
cmp eax, dword [esi - 0x10]
jne 0x55983d
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x559876
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x559856
call fcn.00543e90
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x118], edi
push 0x5bcc28
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0xe
call fcn.00543980
mov byte [ebp - 4], 0xf
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xd4], edi
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x5598c4
cmp eax, dword [edi]
jne 0x5598c4
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x559900
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
jne 0x5598dd
call fcn.00543e90
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0x60], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x10
mov eax, dword [ecx]
cmp dword [eax + ebx + 0x207c4], 0
mov dword [ebp - 0x5c], 0
jle 0x55a124
mov ecx, dword [ebp - 0x9c]
imul ecx, ecx, 0x65
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x88]
shl ecx, 5
mov esi, dword [ecx + eax + 0x2054c]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x55996f
cmp eax, dword [esi - 0x10]
jne 0x55996f
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x5599a7
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x55955b
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
lea ebx, [edi + 0x10]
mov dword [ebp - 0x64], ebx
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x11
mov edx, dword [ecx]
mov eax, dword [ebp - 0x6c]
mov esi, dword [eax + edx + 0x20554]
mov ecx, dword [esi - 0x10]
lea eax, [eax + edx + 0x20554]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x5599ed
cmp eax, dword [esi - 0x10]
jne 0x5599ed
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x559a25
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x55955b
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x70], edi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x68], ebx
call eax
cmp dword [ebx + 0xc], 0
lea ecx, [ebx + 0xc]
jl 0x559a59
cmp eax, dword [ebx]
jne 0x559a59
mov esi, ebx
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x559a97
mov edi, dword [ebp - 0x68]
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x55955b
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0x58], esi
push 0x5bcc28
push esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
call fcn.005466d0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x5c]
lea eax, [ecx + edx + 0x102b]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
shl eax, 5
cmp byte [eax + edx], 1
mov dword [ebp - 0x94], eax
jne 0x559d6a
cmp byte [ebp - 0x51], 0
jne 0x559c39
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x55a1ae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
mov ecx, 0x5bcde8
mov byte [ebp - 4], 0x14
test ecx, 0xffff0000
jne 0x559b30
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x559b3f
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.00543b60
jmp 0x559b3f
push 1
push 0x5bcde8
lea ecx, [ebp - 0x50]
call fcn.00543d80
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0xac]
push edx
mov byte [ebp - 4], 0x15
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x58]
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x16
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x17
mov ecx, dword [eax]
mov esi, dword [ebp - 0x60]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x559bca
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x559bbd
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x559bbd
push eax
call fcn.00546f50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x559bb5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x60], ebx
jmp 0x559bca
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.00543d80
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559bf0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559c16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559c39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebx + edx + 0x20548]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x20548]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x559c75
cmp eax, dword [esi - 0x10]
jne 0x559c75
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x559cad
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x55955b
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x18
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x55a1ae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
mov ecx, 0x5bdaec
mov byte [ebp - 4], 0x19
test ecx, 0xffff0000
jne 0x559d06
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x559d15
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.00543b60
jmp 0x559d15
push 0x1b
push 0x5bdaec
lea ecx, [ebp - 0x50]
call fcn.00543d80
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x1a
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x1b
call fcn.0057d100
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559d61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
jmp 0x559ffb
mov ecx, dword [ebp - 0x70]
cmp dword [ecx - 0xc], 0
jle 0x559ecf
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x55a1ae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
mov ecx, 0x5bcde8
mov byte [ebp - 4], 0x1c
test ecx, 0xffff0000
jne 0x559dc6
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x559dd5
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.00543b60
jmp 0x559dd5
push 1
push 0x5bcde8
lea ecx, [ebp - 0x50]
call fcn.00543d80
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x1d
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x70]
push ecx
push eax
lea edx, [ebp - 0xa4]
push edx
mov byte [ebp - 4], 0x1e
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x1f
mov ecx, dword [eax]
mov esi, dword [ebp - 0x60]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x559e60
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x559e53
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x559e53
push eax
call fcn.00546f50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x559e4b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x60], ebx
jmp 0x559e60
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.00543d80
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559e86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559eac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559ecf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebx + edx + 0x20548]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x20548]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x559f0b
cmp eax, dword [esi - 0x10]
jne 0x559f0b
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x559f43
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x55955b
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call 0x69ca42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x20
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x55a1ae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
mov ecx, 0x5bdb24
mov byte [ebp - 4], 0x21
test ecx, 0xffff0000
jne 0x559f9c
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x559fab
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.00543b60
jmp 0x559fab
push 0x1c
push 0x5bdb24
lea ecx, [ebp - 0x50]
call fcn.00543d80
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x84]
push edx
mov byte [ebp - 4], 0x22
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x23
call fcn.0057d100
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x559ff7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a01a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 0x13
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a03a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x94]
cmp byte [ecx + eax], 1
je 0x55a0a1
mov eax, dword [ebx + eax + 0x20550]
mov ecx, 0x5bd770
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x55a07d
test dx, dx
je 0x55a079
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x55a07d
add eax, 4
add ecx, 4
test dx, dx
jne 0x55a057
xor eax, eax
jmp 0x55a082
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x55a0a1
lea ecx, [ebp - 0x70]
call fcn.00546a30
mov ecx, eax
call fcn.00546ab0
mov edx, dword [eax]
cmp dword [edx - 0xc], 0
jle 0x55a0a1
mov byte [ebp - 0x45], 1
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a0c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a0e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x68]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a107
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [esi]
mov edx, dword [ebp - 0x78]
inc ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [eax + edx + 0x207c4]
jl 0x559933
mov ebx, esi
jmp 0x55a126
mov ebx, ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x2fa10]
mov ecx, dword [eax - 0xc]
mov edi, dword [fcn.0059450c]
push ecx
push eax
call edi
test eax, eax
jne 0x55a144
call fcn.00543e90
push eax
push 0x5bdb60
lea ecx, [ebp - 0x60]
call fcn.005466d0
mov eax, dword [ebx]
mov eax, dword [eax + 0x2fa14]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x55a16a
call fcn.00543e90
push eax
push 0x5bdb78
lea ecx, [ebp - 0x60]
call fcn.005466d0
mov eax, dword [ebx]
mov eax, dword [eax + 0x2fa18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x55a190
call fcn.00543e90
push eax
push 0x5bdb94
lea ecx, [ebp - 0x60]
call fcn.005466d0
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55a1b8
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x70], eax
mov ecx, 0x5bd884
mov byte [ebp - 4], 0x24
test ecx, 0xffff0000
jne 0x55a1f3
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x55a202
push esi
push eax
lea ecx, [ebp - 0x70]
call fcn.00543b60
jmp 0x55a202
push 5
push 0x5bd884
lea ecx, [ebp - 0x70]
call fcn.00543d80
mov byte [ebp - 4], 0x25
mov eax, dword [ebx]
cmp byte [eax + 0x2fa1c], 0
je 0x55a34f
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55a22f
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x5c], edi
mov ecx, 0x5bd770
mov byte [ebp - 4], 0x26
test ecx, 0xffff0000
jne 0x55a26a
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x55a27c
push esi
push eax
lea ecx, [ebp - 0x5c]
call fcn.00543b60
jmp 0x55a279
push 4
push 0x5bd770
lea ecx, [ebp - 0x5c]
call fcn.00543d80
mov edi, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x27
mov ebx, dword [ebp - 0x70]
lea esi, [edi - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x55a32c
cmp dword [ebx + 0xc], 0
jl 0x55a31f
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x55a31f
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x55a2c2
cmp eax, dword [esi]
jne 0x55a2c2
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x55a2fe
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x55a2db
call fcn.00543e90
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [edi + 0x10]
push ecx
call 0x69ca42
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x55a317
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x70], edi
jmp 0x55a32c
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [ebp - 0x70]
call fcn.00543d80
mov byte [ebp - 4], 0x25
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x55a349
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov edi, dword [fcn.0059450c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx - 0xc]
push eax
push ecx
call edi
test eax, eax
jne 0x55a362
call fcn.00543e90
push eax
push 0x5bdbb4
lea ecx, [ebp - 0x60]
call fcn.005466d0
cmp byte [ebp - 0x51], 1
jne 0x55a769
cmp byte [ebp - 0x45], 0
jne 0x55a769
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55a39e
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
mov ecx, 0x5bcc28
mov byte [ebp - 4], 0x28
test ecx, 0xffff0000
jne 0x55a3d9
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x55a3e8
push esi
push eax
lea ecx, [ebp - 0x78]
call fcn.00543b60
jmp 0x55a3e8
push 0
push 0x5bcc28
lea ecx, [ebp - 0x78]
call fcn.00543d80
mov byte [ebp - 4], 0x29
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55a406
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
mov ecx, 0x5bcde8
mov byte [ebp - 4], 0x2a
test ecx, 0xffff0000
jne 0x55a441
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x55a450
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.00543b60
jmp 0x55a450
push 1
push 0x5bcde8
lea ecx, [ebp - 0x50]
call fcn.00543d80
mov bl, 0x2b
mov byte [ebp - 4], bl
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55a46f
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
mov ecx, 0x5bdbd0
mov byte [ebp - 4], 0x2c
test ecx, 0xffff0000
jne 0x55a4aa
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x55a4b9
push esi
push eax
lea ecx, [ebp - 0x5c]
call fcn.00543b60
jmp 0x55a4b9
push 3
push 0x5bdbd0
lea ecx, [ebp - 0x5c]
call fcn.00543d80
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp - 0x80]
push edx
mov byte [ebp - 4], 0x2d
mov edx, dword [ecx]
lea eax, [ebp - 0x5c]
push eax
add edx, 0x16c
push edx
lea eax, [ebp - 0xf4]
push eax
mov ecx, 0xa
call fcn.00582490
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a50c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a52f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a552
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a575
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a598
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a5be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a5e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a607
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a62a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a64d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a670
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a696
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a6bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xc4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a6df
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a705
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a727
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [ebp - 0xf0]
mov dword [ebp - 4], 0x2e
call fcn.00561be0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a762
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
jmp 0x55c3cb
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x268]
mov eax, dword [eax - 0xc]
test eax, eax
jle 0x55a80d
push 0x5bdbd8
lea ecx, [ebp - 0x84]
call fcn.00543980
mov esi, dword [ebp - 0x4c]
mov bl, 0x2f
mov byte [ebp - 4], bl
mov ecx, dword [esi]
push eax
add ecx, 0x268
push ecx
lea edx, [ebp - 0x94]
push edx
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x30
mov ecx, dword [esi]
add ecx, 0x268
push eax
call fcn.00546ce0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a7e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a80d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x4c]
mov edx, dword [esi]
lea ecx, [ebp - 0x80]
push ecx
add edx, 0x268
push edx
lea eax, [ebp - 0x94]
push eax
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x31
mov ecx, dword [esi]
add ecx, 0x268
push eax
call fcn.00546ce0
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a864
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bdbdc
lea ecx, [ebp - 0xa0]
call fcn.00543980
mov esi, eax
push 0x5bdbec
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x32
call fcn.00543980
lea ecx, [ebp - 0xa8]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x33
call fcn.00561840
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x34
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0xc8]
push ecx
push eax
lea edx, [ebp - 0x94]
mov bl, 0x35
push edx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x36
call fcn.0057d100
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a906
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a92c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a952
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a978
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55a99e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x78]
cmp dword [eax + ecx + 0x2086c], 0
jle 0x55a9b7
mov byte [eax + 0x213], 1
mov eax, dword [esi]
lea edx, [eax + ecx + 0x1fbdc]
push edx
lea edx, [eax + ecx + 0x1fc20]
push edx
lea edx, [eax + ecx + 0x1fbf8]
lea ecx, [eax + ecx + 0x1fbe4]
push edx
push ecx
lea ecx, [eax + 0x218]
call fcn.00597a80
push 0x5bd344
lea ecx, [ebp - 0x94]
call fcn.00543980
push eax
mov byte [ebp - 4], 0x37
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push edx
push eax
lea ecx, [ebp - 0x134]
push ecx
call fcn.00568990
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55aa33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor bl, bl
push 0x5bcc28
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0x45], bl
mov dword [ebp - 0x5c], 0
call fcn.00543980
mov byte [ebp - 4], 0x3a
jmp 0x55aa63
mov bl, byte [ebp - 0x45]
cmp dword [ebp - 0x5c], 5
jge 0x55af5d
test bl, bl
jne 0x55aa8e
lea ecx, [ebp - 0xc8]
push ecx
lea esi, [ebp - 0xd0]
lea ecx, [ebp - 0x7c]
call fcn.0056efe0
test al, al
je 0x55aa8e
mov byte [ebp - 0x45], 1
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ebx, dword [ebp - 0x78]
lea eax, [ebx + eax + 0x1fc00]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x88], esi
push 0x5bcc28
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x3b
call fcn.00543980
lea ecx, [ebp - 0x7c]
push ecx
lea edi, [ebp - 0x50]
mov byte [ebp - 4], 0x3c
call fcn.0056f7a0
cmp dword [esi - 0xc], 0
mov ecx, dword [ebp - 0x50]
jle 0x55ab1b
cmp dword [ecx - 0xc], 0
jle 0x55ab1b
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x55ab0c
test dx, dx
je 0x55ab08
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x55ab0c
add eax, 4
add ecx, 4
test dx, dx
jne 0x55aae6
xor eax, eax
jmp 0x55ab11
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x55ab1b
mov byte [ebp - 0x45], 0
jmp 0x55ab25
cmp byte [ebp - 0x45], 0
jne 0x55af0b
push 0x5bcc28
lea ecx, [ebp - 0x6c]
call fcn.00543980
lea esi, [ebp - 0x6c]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3d
call fcn.0056e1d0
push 0x5bcc28
lea ecx, [ebp - 0x68]
call fcn.00543980
lea edx, [ebp - 0x7c]
push edx
lea edi, [ebp - 0x68]
mov byte [ebp - 4], 0x3e
call fcn.0056f7a0
push 0x5bdc6c
lea ecx, [ebp - 0xc0]
call fcn.00543980
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x3f
mov ecx, dword [eax]
lea edx, [ebx + ecx + 0x1fbe4]
push edx
lea eax, [ebp - 0xb8]
push eax
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0xc8]
push ecx
push eax
lea edx, [ebp - 0xbc]
push edx
mov byte [ebp - 4], 0x40
call fcn.00561840
add esp, 0xc
push 0x5bdc5c
push eax
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 4], 0x41
call fcn.00561900
add esp, 0xc
lea ecx, [ebp - 0x7c]
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x42
call fcn.00561840
add esp, 0xc
push 0x5bdc44
push eax
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 0x43
call fcn.00561900
add esp, 0xc
lea ecx, [ebp - 0xd0]
push ecx
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x44
call fcn.00561840
add esp, 0xc
push 0x5bdc2c
push eax
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x45
call fcn.00561900
add esp, 0xc
mov ecx, esi
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x46
call fcn.00561840
add esp, 0xc
push 0x5bdc1c
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x47
call fcn.00561900
add esp, 0xc
mov ecx, edi
push ecx
push eax
lea edx, [ebp - 0x58]
push edx
mov byte [ebp - 4], 0x48
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ac92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55acb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55acde
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ad04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ad2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ad50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ad76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ad9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55adc2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ade8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0x8c]
call fcn.00543980
mov esi, eax
push 0x5bdc7c
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x54
call fcn.00543980
push esi
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x80]
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x55
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0xf4]
push edx
mov ecx, 1
call fcn.00582490
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ae5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55ae85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x7c]
push ecx
call dword [0x59448c]
mov edx, dword [ebp - 0xc8]
push edx
call dword [0x594968]
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55aebf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55aee2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55af05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x88]
inc dword [ebp - 0x5c]
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55af31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x3a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55af51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
je 0x55aa60
jmp 0x55af65
test bl, bl
je 0x55bff3
push 0x5bdc84
lea ecx, [ebp - 0xbc]
call fcn.00543980
mov esi, eax
push 0x5bdc8c
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x56
call fcn.00543980
lea ecx, [ebp - 0x7c]
push ecx
push eax
lea edx, [ebp - 0xc0]
push edx
mov byte [ebp - 4], 0x57
call fcn.00561840
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x58
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x60]
push ecx
push eax
lea edx, [ebp - 0x8c]
mov bl, 0x59
push edx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x5a
call fcn.00546ce0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b003
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b029
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b04f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b075
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b09b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x51], 0
jne 0x55b0c8
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2f9c0]
push edx
lea edx, [eax + 0x170]
add eax, 0x2a0
push eax
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x80]
call fcn.0057f6c0
push 0x5bdc90
lea ecx, [ebp - 0x98]
call fcn.00543980
lea ecx, [ebp - 0x60]
push ecx
push eax
lea edx, [ebp - 0x8c]
mov bl, 0x5b
push edx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x5c
call fcn.0057d100
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b121
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b147
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x5c], 0
call fcn.00543980
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x5d
call fcn.005854b0
test al, al
je 0x55b96f
cmp byte [ebp - 0x51], 0
jne 0x55b965
push 0x5bdcd0
lea ecx, [ebp - 0x8c]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0x5e
call fcn.0057d100
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55b1c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x78]
cmp dword [eax + edx + 0x20868], 0
mov dword [ebp - 0x68], 0
jle 0x55b6ba
mov ecx, dword [ebp - 0x9c]
imul ecx, ecx, 0xca
mov dword [ebp - 0x8c], ecx
shl ecx, 4
mov dword [ebp - 0x50], ecx
jmp 0x55b200
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax + 0x207cc]
sub eax, 0x10
push eax
call fcn.00546f50
add esp, 4
add eax, 0x10
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x5f
mov ecx, 0x5bdd30
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x55b24b
test dx, dx
je 0x55b247
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x55b24b
add eax, 4
add ecx, 4
test dx, dx
jne 0x55b225
xor eax, eax
jmp 0x55b250
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x55b66d
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebx]
mov eax, dword [ebp - 0x50]
lea eax, [eax + edx + 0x207c8]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xc0], esi
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x68]
lea eax, [ecx + edx + 0x207d]
shl eax, 4
add eax, dword [ebx]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xb8], edi
mov byte [ebp - 4], 0x61
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + eax + 0x207d4]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0xbc], eax
lea ebx, [eax - 0x10]
mov byte [ebp - 4], 0x62
push ebx
mov dword [ebp - 0xb0], ebx
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x88], eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0x63
push edi
mov dword [ebp - 0xe0], edi
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0x64
push esi
mov dword [ebp - 0x74], esi
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x98], esi
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x65
call fcn.005863f0
mov byte [ebp - 0x51], al
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x64
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b369
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b38c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b3b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x51], 0
jne 0x55b613
push 0x5bdd40
lea ecx, [ebp - 0x9c]
call fcn.00543980
mov esi, eax
push 0x5bdd54
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x66
call fcn.00543980
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0xac]
push edx
mov byte [ebp - 4], 0x67
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0xb8]
push ecx
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x68
call fcn.00561840
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x69
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0xbc]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x6a
call fcn.00561840
add esp, 0xc
mov esi, eax
push 0x5bdd64
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x6b
call fcn.00543980
mov edi, eax
push 0x5bdda0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x6c
call fcn.00543980
mov ebx, eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x6d
mov eax, dword [eax]
mov eax, dword [eax + 0x2a0]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
push 1
push esi
push edi
push ebx
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0xf4]
push edx
mov byte [ebp - 4], 0x6e
call fcn.0057d9f0
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b4d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b4f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b51f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b545
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b56b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b591
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b5b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b5dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b603
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xb0]
mov byte [ebp - 0x52], 0
mov byte [ebp - 4], 0x61
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b630
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [ebp - 4], 0x60
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x55b64d
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0x74]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b66d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b690
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x68]
mov eax, dword [edx]
mov edx, dword [ebp - 0x78]
add dword [ebp - 0x50], 0x10
inc ecx
mov dword [ebp - 0x68], ecx
cmp ecx, dword [eax + edx + 0x20868]
jl 0x55b200
cmp byte [ebp - 0x52], 1
jne 0x55b965
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x55b6ca
cmp eax, 0x65
jne 0x55b965
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55b6e4
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
lea esi, [ebp - 0x44]
call fcn.0059d5c0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x70
call fcn.00546a30
mov ecx, eax
call fcn.00546ab0
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jle 0x55b7cf
push 0x5bdda8
lea edx, [ebp - 0x58]
push edx
mov edx, dword [ebp - 0xd8]
mov ecx, esi
call fcn.0059d9c0
test eax, eax
jne 0x55b7cf
push 0x5bcc28
lea ecx, [ebp - 0x74]
call fcn.00543980
mov esi, eax
mov bl, 0x71
push 0x5bdde4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00543980
push esi
lea ecx, [ebp - 0xa8]
push ecx
lea edx, [ebp - 0x80]
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x72
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0xf4]
push edx
mov ecx, 1
call fcn.00582490
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b7ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b7cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xb0]
call fcn.00543980
mov esi, eax
push 0x5bcde8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x73
call fcn.00543980
mov edi, eax
mov bl, 0x74
push 0x5bddec
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00543980
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x75
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x78]
push esi
lea edx, [ecx + edx + 0x1fbe4]
push edx
push edi
push eax
add ecx, 0x16c
push ecx
lea eax, [ebp - 0xf4]
push eax
mov ecx, 1
call fcn.00582490
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b857
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b87a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b8a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bdac4
lea ecx, [ebp - 0x74]
call fcn.00543980
mov esi, eax
mov bl, 0x76
push 0x5bcc28
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00543980
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x77
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x2f9c0]
push edx
lea edx, [ecx + 0x170]
push esi
push edx
add ecx, 0x2a0
push ecx
lea ecx, [ebp - 0xf4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.0057fd20
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55b913
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b936
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x6f
call fcn.0059d670
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55b965
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x5c], 0
je 0x55bfb0
mov edx, dword [ebp - 0x5c]
push 0xa
lea ecx, [ebp - 0x34]
push ecx
push edx
call 0x69d2a4
add esp, 0xc
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x55b99b
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x68], eax
lea esi, [ebp - 0x68]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x78
call fcn.0056e1d0
push 0x5bcc28
lea ecx, [ebp - 0x9c]
call fcn.00543980
lea ecx, [ebp - 0x7c]
push ecx
lea edi, [ebp - 0x9c]
mov byte [ebp - 4], 0x79
call fcn.0056f7a0
push 0x5bddf8
lea ecx, [ebp - 0x64]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0x7a
call fcn.0057d100
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55ba17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bdc1c
lea ecx, [ebp - 0x50]
call fcn.00543980
mov esi, eax
push 0x5bdc2c
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x7b
call fcn.00543980
mov edi, eax
push 0x5bde4c
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x7c
call fcn.00543980
mov ebx, eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x7d
call fcn.00561590
mov dword [ebp - 0xb0], eax
push 0x5bde60
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x7e
call fcn.00543980
mov dword [ebp - 0x74], eax
push 0x5bde78
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x7f
call fcn.00543980
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x80
mov eax, dword [edx]
mov ecx, dword [ebp - 0x78]
lea eax, [ecx + eax + 0x1fbe4]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x81
mov edx, dword [ebp - 0x64]
push edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x90]
push ecx
call fcn.00561840
add esp, 0xc
lea edx, [ebp - 0x60]
push edx
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x82
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x83
mov ecx, dword [ebp - 0x74]
push ecx
push eax
lea edx, [ebp - 0xcc]
push edx
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x84
mov ecx, dword [ebp - 0xb0]
push ecx
push eax
lea edx, [ebp - 0xbc]
push edx
call fcn.00561840
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0x85
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea edx, [ebp - 0xc0]
push edx
mov byte [ebp - 4], 0x86
call fcn.00561840
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x87
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x68]
push ecx
push eax
lea edx, [ebp - 0x8c]
push edx
mov byte [ebp - 4], 0x88
call fcn.00561840
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0x89
call fcn.00561840
add esp, 0xc
lea ecx, [ebp - 0x9c]
push ecx
push eax
lea edx, [ebp - 0x88]
push edx
mov byte [ebp - 4], 0x8a
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x8c
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bbd3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8d
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bbf9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bc1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bc45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x90
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bc6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x91
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bc91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bcb7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bcdd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bd03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bd26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x96
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bd4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x97
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bd72
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bd98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bdbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bde1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55be04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0x74]
call fcn.00543980
mov esi, eax
mov bl, 0x9c
push 0x5bde88
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00543980
mov edi, dword [ebp - 0x4c]
push esi
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x80]
push edx
push eax
mov byte [ebp - 4], 0x9d
mov eax, dword [edi]
add eax, 0x16c
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, 1
call fcn.00582490
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55be74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55be97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00561590
mov esi, eax
mov bl, 0x9e
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x9f
mov eax, dword [edi]
mov edx, dword [eax + 0x2f9c0]
push edx
push esi
lea ecx, [eax + 0x170]
push ecx
add eax, 0x2a0
push eax
lea edx, [ebp - 0xf4]
push edx
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x80]
call fcn.005806a0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bf0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bf31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x7c]
push ecx
call dword [0x59448c]
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
mov byte [ebp - 0x52], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55bf65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bf8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bfc6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x55bfc6
cmp byte [ebp - 0x52], 0
je 0x55bfc6
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x78]
mov byte [eax + edx + 0x20872], 1
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55bfe9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
jne 0x55c098
push 0x5bd350
lea ecx, [ebp - 0x64]
mov byte [ebp - 0x52], 0
call fcn.00543980
mov esi, eax
mov bl, 0xa0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xa1
mov eax, dword [ecx]
mov edx, dword [eax + 0x2f9c0]
push edx
push esi
lea ecx, [eax + 0x170]
push ecx
add eax, 0x2a0
push eax
lea edx, [ebp - 0xf4]
push edx
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x80]
call fcn.005806a0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c075
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c098
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xb0]
call fcn.00543980
mov esi, eax
push 0x5bcc28
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa2
call fcn.00543980
mov edi, eax
mov bl, 0xa3
push 0x5bde90
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00543980
mov edx, dword [ebp - 0x4c]
push esi
push edi
lea ecx, [ebp - 0x80]
push ecx
push eax
mov byte [ebp - 4], 0xa4
mov eax, dword [edx]
add eax, 0x16c
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, 7
call fcn.00582490
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55c118
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa2
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c13b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c161
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
dec dword [eax + 0x2fa0c]
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x55c192
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c1b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c1db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c1fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c224
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c247
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c26d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c290
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c2b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c2d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c2fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c322
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xc4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c345
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c36b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c38d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [ebp - 0xf0]
mov dword [ebp - 4], 0xa5
call fcn.00561be0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x55c3c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, byte [ebp - 0x52]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call 0x69c52c
mov esp, ebp
pop ebp
ret