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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58d0bf
mov eax, dword fs:[0]
push eax
mov eax, 0x1058
call 0x6a2a50
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]
mov edi, ecx
lea ecx, [ebp - 0x1064]
push ecx
mov dword [ebp - 0xd4c], edi
mov dword [ebp - 0xd78], eax
mov byte [ebp - 0xd36], 1
call fcn.0057ca10
push 0x5bf094
lea ecx, [ebp - 0xd30]
mov dword [ebp - 4], 0
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 1
call fcn.0057d100
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xd30]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a60ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf528
lea ecx, [ebp - 0xd30]
call fcn.00543980
mov byte [ebp - 4], 2
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push edx
lea ecx, [edi + 0x2f638]
push eax
call fcn.00546e90
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xd30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a60fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a6114
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 - 0xd54], eax
mov ecx, 0x5cd438
mov byte [ebp - 4], 3
test ecx, 0xffff0000
jne 0x5a6155
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x5a6165
push esi
push eax
lea ecx, [ebp - 0xd54]
call fcn.00543b60
jmp 0x5a6165
push 0x5cd438
lea ecx, [ebp - 0xd54]
call fcn.00561ad0
mov byte [ebp - 4], 4
mov eax, dword [edi + 0x18]
sub eax, 0x10
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
mov dword [ebp - 0xd68], esi
mov byte [ebp - 4], 5
mov eax, dword [edi + 0x14]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0xfe8], eax
mov byte [ebp - 4], 6
mov eax, dword [edi + 0x20]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0xfe0], eax
mov byte [ebp - 4], 7
mov eax, dword [edi + 0x1c]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0xfd8], eax
mov byte [ebp - 4], 8
mov eax, dword [edi + 0x2c]
sub eax, 0x10
push eax
call fcn.00546f50
lea ebx, [eax + 0x10]
add esp, 0x14
mov dword [ebp - 0xfd0], ebx
mov byte [ebp - 4], 9
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a6203
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 - 0xd74], eax
mov byte [ebp - 4], 0xa
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a6233
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 - 0xd28], eax
mov ecx, 0x5ccaf8
mov byte [ebp - 4], 0xb
test ecx, 0xffff0000
jne 0x5a6280
mov edx, ecx
movzx eax, dx
push eax
mov dword [ebp - 0xd30], eax
call fcn.005b00d5
test eax, eax
je 0x5a6290
mov ecx, dword [ebp - 0xd30]
push ecx
push eax
lea ecx, [ebp - 0xd28]
call fcn.00543b60
jmp 0x5a6290
push 0x5ccaf8
lea ecx, [ebp - 0xd28]
call fcn.00561ad0
push esi
push esi
push esi
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xd28]
push ebx
push edx
lea eax, [ebp - 0xd74]
push eax
call fcn.00546fc0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xd28]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a62d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a62ee
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 - 0xd5c], eax
mov ecx, 0x5cd420
mov byte [ebp - 4], 0xd
test ecx, 0xffff0000
jne 0x5a632f
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x5a633f
push esi
push eax
lea ecx, [ebp - 0xd5c]
call fcn.00543b60
jmp 0x5a633f
push 0x5cd420
lea ecx, [ebp - 0xd5c]
call fcn.00561ad0
lea eax, [ebp - 0xd74]
push eax
lea ecx, [ebp - 0xd54]
push ecx
lea edx, [ebp - 0xd34]
push edx
mov byte [ebp - 4], 0xe
call fcn.00561840
add esp, 0xc
xor esi, esi
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xd30], esi
cmp dword [edi + 0x1f93c], esi
jle 0x5a9e85
mov ecx, dword [ebp - 0xd4c]
mov eax, esi
imul eax, eax, 0xca0
lea edx, [ebp - 0xd14]
lea edi, [eax + ecx + 0x3c]
push edx
call fcn.00560c40
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x128], 0
jle 0x5a8a93
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd60], eax
mov ecx, 0x5cc738
mov byte [ebp - 4], 0x11
test ecx, 0xffff0000
jne 0x5a63fc
mov edx, ecx
movzx edi, dx
push edi
call fcn.005b00d5
test eax, eax
je 0x5a640c
push edi
push eax
lea ecx, [ebp - 0xd60]
call fcn.00543b60
jmp 0x5a640c
push 0x5cc738
lea ecx, [ebp - 0xd60]
call fcn.00561ad0
push 0xa
push 0xa
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 2]
push ecx
mov byte [ebp - 4], 0x12
call 0x69d4de
push 0xa
push 0xa
lea edx, [ebp - 0x20]
push edx
push esi
call 0x69d4de
add esp, 0x20
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd58], eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
test ecx, 0xffff0000
jne 0x5a6485
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x5a6494
push esi
push eax
lea ecx, [ebp - 0xd58]
call fcn.00543b60
jmp 0x5a6494
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xd58]
call fcn.00561ad0
mov byte [ebp - 4], 0x14
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd48], eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x15
test ecx, 0xffff0000
jne 0x5a64eb
mov edx, ecx
movzx esi, dx
push esi
call fcn.005b00d5
test eax, eax
je 0x5a64fa
push esi
push eax
lea ecx, [ebp - 0xd48]
call fcn.00543b60
jmp 0x5a64fa
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xd48]
call fcn.00561ad0
mov byte [ebp - 4], 0x16
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd18], eax
push 0x5bf0c8
lea ecx, [ebp - 0xda4]
mov byte [ebp - 4], 0x17
call fcn.00543980
mov esi, eax
push 0x5bf13c
lea ecx, [ebp - 0xeec]
mov byte [ebp - 4], 0x18
call fcn.00543980
mov byte [ebp - 4], 0x19
mov ecx, dword [esi]
mov edx, dword [eax]
mov eax, dword [ebp - 0xd58]
push ecx
push edx
push eax
push eax
mov eax, dword [ebp - 0xd60]
push eax
lea ecx, [ebp - 0xd18]
push ecx
call fcn.00546fc0
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0xeec]
add eax, 0xfffffff0
add esp, 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a659c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xda4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a65c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf560
lea ecx, [ebp - 0xf98]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe9c]
push edx
mov byte [ebp - 4], 0x1a
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x1b
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a664e
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a663e
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a663e
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 0x5a6633
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a664e
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xe9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6674
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xf98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a669a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf160
lea ecx, [ebp - 0xfa8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xfa0]
push edx
mov byte [ebp - 4], 0x1c
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x1d
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a6726
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a6716
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a6716
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 0x5a670b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a6726
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0xfa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a674c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xfa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6772
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf670
lea ecx, [ebp - 0x1008]
call fcn.00543980
mov esi, eax
push 0x5bf270
lea ecx, [ebp - 0x1000]
mov byte [ebp - 4], 0x1e
call fcn.00543980
mov edi, eax
push 0x5bf2d8
lea ecx, [ebp - 0xff8]
mov byte [ebp - 4], 0x1f
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xff0]
push edx
mov byte [ebp - 4], 0x20
call fcn.00561840
lea ecx, [ebp - 0xd48]
push ecx
push eax
lea edx, [ebp - 0xfc8]
push edx
mov byte [ebp - 4], 0x21
call fcn.00561840
push edi
push eax
lea eax, [ebp - 0xfc0]
push eax
mov byte [ebp - 4], 0x22
call fcn.00561840
lea ecx, [ebp - 0xd48]
push ecx
push eax
lea edx, [ebp - 0xfb8]
push edx
mov byte [ebp - 4], 0x23
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xfb0]
push eax
mov byte [ebp - 4], 0x24
call fcn.00561840
add esp, 0x3c
mov byte [ebp - 4], 0x25
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a687e
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a686e
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a686e
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 0x5a6863
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a687e
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0xfb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a68a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0xfb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a68ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0xfc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a68f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0xfc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6916
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 - 0xff0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a693c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0xff8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6962
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x1000]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6988
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1008]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a69ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf340
lea ecx, [ebp - 0x102c]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0x1010]
push edx
mov byte [ebp - 4], 0x26
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x27
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a6a3a
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a6a2a
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a6a2a
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 0x5a6a1f
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a6a3a
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x1010]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6a60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x102c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6a86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf398
lea ecx, [ebp - 0xde4]
call fcn.00543980
mov dword [ebp - 0xd20], eax
push 0x5bf3b4
lea ecx, [ebp - 0xf0c]
mov byte [ebp - 4], 0x28
call fcn.00543980
mov dword [ebp - 0xd70], eax
mov byte [ebp - 4], 0x29
mov esi, dword [ebp - 0xce0]
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 0x5a6ae6
cmp eax, dword [esi - 0x10]
jne 0x5a6ae6
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x5a6b1e
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 0x5aa448
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 - 0xd2c], edi
push 0x5bf3d0
lea ecx, [ebp - 0xddc]
mov byte [ebp - 4], 0x2a
call fcn.00543980
mov dword [ebp - 0xd9c], eax
mov byte [ebp - 4], 0x2b
mov esi, dword [ebp - 0xd00]
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 0x5a6b71
cmp eax, dword [esi - 0x10]
jne 0x5a6b71
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x5a6ba9
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 0x5aa448
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 - 0xd84], edi
push 0x5bf3e8
lea ecx, [ebp - 0xfec]
mov byte [ebp - 4], 0x2c
call fcn.00543980
mov dword [ebp - 0x1028], eax
mov byte [ebp - 4], 0x2d
mov esi, dword [ebp - 0xd08]
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 0x5a6bfc
cmp eax, dword [esi - 0x10]
jne 0x5a6bfc
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x5a6c34
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 0x5aa448
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 - 0xd28], edi
push 0x5bf3f0
lea ecx, [ebp - 0xdd4]
mov byte [ebp - 4], 0x2e
call fcn.00543980
mov ebx, eax
mov ecx, dword [ebp - 0xd4c]
mov byte [ebp - 4], 0x2f
mov esi, dword [ecx + 0x18]
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 0x5a6c86
cmp eax, dword [esi - 0x10]
jne 0x5a6c86
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x5a6cbe
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 0x5aa448
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 - 0xd1c], edi
push 0x5bf400
lea ecx, [ebp - 0xf04]
mov byte [ebp - 4], 0x30
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xdcc]
push edx
mov byte [ebp - 4], 0x31
call fcn.00561840
lea ecx, [ebp - 0xd1c]
push ecx
push eax
lea edx, [ebp - 0xf9c]
push edx
mov byte [ebp - 4], 0x32
call fcn.00561840
push ebx
push eax
lea eax, [ebp - 0xdc4]
push eax
mov byte [ebp - 4], 0x33
call fcn.00561840
lea ecx, [ebp - 0xd28]
push ecx
push eax
lea edx, [ebp - 0xefc]
push edx
mov byte [ebp - 4], 0x34
call fcn.00561840
mov ecx, dword [ebp - 0x1028]
push ecx
push eax
lea edx, [ebp - 0xdbc]
push edx
mov byte [ebp - 4], 0x35
call fcn.00561840
lea ecx, [ebp - 0xd84]
push ecx
push eax
lea edx, [ebp - 0x1018]
push edx
mov byte [ebp - 4], 0x36
call fcn.00561840
add esp, 0x48
mov ecx, dword [ebp - 0xd9c]
push ecx
push eax
lea edx, [ebp - 0xdb4]
push edx
mov byte [ebp - 4], 0x37
call fcn.00561840
lea ecx, [ebp - 0xd2c]
push ecx
push eax
lea edx, [ebp - 0xef4]
push edx
mov byte [ebp - 4], 0x38
call fcn.00561840
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0xd70]
push ecx
push eax
lea edx, [ebp - 0xdac]
push edx
call fcn.00561840
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf94]
push edx
call fcn.00561840
add esp, 0x30
mov byte [ebp - 4], 0x3b
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a6e2c
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x5a6e1c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a6e1c
push eax
call fcn.00546f50
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x5a6e11
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [ebp - 0xd18], edi
jmp 0x5a6e2c
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xf94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6e52
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0xdac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6e78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0xef4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6e9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xdb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6ec4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1018]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6eea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xdbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6f10
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 - 0xefc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6f36
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 - 0xdc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6f5c
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 - 0xf9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6f82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0xdcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6fa8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xf04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6fce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a6ff4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0xdd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a701a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0xd28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7040
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xfec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7066
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xd84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a708c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0xddc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a70b2
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 - 0xd2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a70d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0xf0c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a70fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xde4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7124
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf478
lea ecx, [ebp - 0xdec]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xfa4]
push edx
mov byte [ebp - 4], 0x3c
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x3d
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a71b0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a71a0
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a71a0
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 0x5a7195
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a71b0
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0xfa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a71d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xdec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a71fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf710
lea ecx, [ebp - 0xe0c]
call fcn.00543980
mov esi, eax
push 0x5bf580
lea ecx, [ebp - 0xfac]
mov byte [ebp - 4], 0x3e
call fcn.00543980
mov edi, eax
push 0x5bf2d8
lea ecx, [ebp - 0xe04]
mov byte [ebp - 4], 0x3f
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf1c]
push edx
mov byte [ebp - 4], 0x40
call fcn.00561840
lea ecx, [ebp - 0xd48]
push ecx
push eax
lea edx, [ebp - 0xdfc]
push edx
mov byte [ebp - 4], 0x41
call fcn.00561840
push edi
push eax
lea eax, [ebp - 0x1014]
push eax
mov byte [ebp - 4], 0x42
call fcn.00561840
lea ecx, [ebp - 0xd48]
push ecx
push eax
lea edx, [ebp - 0xdf4]
push edx
mov byte [ebp - 4], 0x43
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xf14]
push eax
mov byte [ebp - 4], 0x44
call fcn.00561840
add esp, 0x3c
mov byte [ebp - 4], 0x45
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a7308
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a72f8
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a72f8
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 0x5a72ed
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a7308
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xf14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a732e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0xdf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7354
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x1014]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a737a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xdfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a73a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0xf1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a73c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a73ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xfac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7412
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xe0c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7438
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf5e0
lea ecx, [ebp - 0xe14]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf24]
push edx
mov byte [ebp - 4], 0x46
call fcn.00561840
add esp, 0xc
mov byte [ebp - 4], 0x47
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a74c4
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a74b4
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a74b4
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 0x5a74a9
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a74c4
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0xf24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a74ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xe14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7510
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xd4c]
mov esi, dword [ecx + 0x18]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x5a753f
cmp eax, dword [esi - 0x10]
jne 0x5a753f
lea edi, [esi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x5a7577
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 0x5aa448
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 - 0xd2c], edi
push 0x5cf7a8
lea ecx, [ebp - 0xe24]
mov byte [ebp - 4], 0x48
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf2c]
push edx
mov byte [ebp - 4], 0x49
call fcn.00561840
lea ecx, [ebp - 0xd2c]
push ecx
push eax
lea edx, [ebp - 0xe1c]
push edx
mov byte [ebp - 4], 0x4a
call fcn.00561840
push 0x5cf794
push eax
lea eax, [ebp - 0xff4]
push eax
mov byte [ebp - 4], 0x4b
call fcn.00561900
add esp, 0x24
mov byte [ebp - 4], 0x4c
mov ecx, dword [eax]
mov esi, dword [ebp - 0xd18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x5a763e
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x5a762e
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x5a762e
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 0x5a7623
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xd18], ebx
jmp 0x5a763e
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00543d80
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0xff4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7664
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xe1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a768a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xf2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a76b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0xe24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a76d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xd2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a76fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf6a8
lea ecx, [ebp - 0xe2c]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xfb4]
push edx
mov byte [ebp - 4], 0x4d
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x4e
call fcn.00546ce0
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xfb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a775d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xe2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7783
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x128], 0
mov dword [ebp - 0xd28], 0
jle 0x5a7f2c
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0xd1c], ecx
mov edx, dword [ebp - 0xd1c]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00561080
push 0xa
push 0xa
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x4f
mov ecx, dword [ebp - 0xd28]
push eax
push ecx
call 0x69d4de
add esp, 0x10
push 0x5bf6c0
lea ecx, [ebp - 0xe34]
call fcn.00543980
push eax
lea edx, [ebp - 0xd18]
push edx
lea eax, [ebp - 0xf34]
push eax
mov byte [ebp - 4], 0x50
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x51
call fcn.00546ce0
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xf34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7831
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 - 0xe34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7857
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x40]
mov ecx, 0x5bd770
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5a7886
test dx, dx
je 0x5a7882
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5a7886
add eax, 4
add ecx, 4
test dx, dx
jne 0x5a7860
xor eax, eax
jmp 0x5a788b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5a791a
push 0x5bf6ec
lea ecx, [ebp - 0xe3c]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0x101c]
push edx
mov byte [ebp - 4], 0x52
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x53
call fcn.00546ce0
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0x101c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a78f4
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 - 0xe3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a791a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf710
lea ecx, [ebp - 0xe6c]
call fcn.00543980
mov esi, eax
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0xfc4]
mov byte [ebp - 4], 0x54
call fcn.00561590
mov edi, eax
push 0x5bf750
lea ecx, [ebp - 0xe64]
mov byte [ebp - 4], 0x55
call fcn.00543980
mov ebx, eax
push 0x5bf768
lea ecx, [ebp - 0xf4c]
mov byte [ebp - 4], 0x56
call fcn.00543980
mov dword [ebp - 0xd20], eax
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0xd2c], eax
push 0x5bf7b0
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x58
call fcn.00543980
push eax
lea edx, [ebp - 0xd18]
push edx
lea eax, [ebp - 0xffc]
push eax
mov byte [ebp - 4], 0x59
call fcn.00561840
lea ecx, [ebp - 0xd2c]
push ecx
push eax
lea edx, [ebp - 0xe54]
push edx
mov byte [ebp - 4], 0x5a
call fcn.00561840
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf44]
push edx
call fcn.00561840
lea ecx, [ebp - 0xd48]
push ecx
push eax
lea edx, [ebp - 0xe4c]
push edx
mov byte [ebp - 4], 0x5c
call fcn.00561840
push ebx
push eax
lea eax, [ebp - 0xfbc]
push eax
mov byte [ebp - 4], 0x5d
call fcn.00561840
push edi
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0xe44]
push ecx
call fcn.00561840
add esp, 0x48
push esi
push eax
lea edx, [ebp - 0xf3c]
push edx
mov byte [ebp - 4], 0x5f
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x60
call fcn.00546ce0
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0xf3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7a73
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0xe44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7a99
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 - 0xfbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7abf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5c
mov eax, dword [ebp - 0xe4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7ae5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xf44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7b0b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0xe54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7b31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0xffc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7b57
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 - 0xe5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7b7d
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 - 0xd2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7ba3
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 - 0xf4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7bc9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0xe64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7bef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xfc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7c15
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 - 0xe6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7c3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x40]
mov ecx, 0x5bd770
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5a7c69
test dx, dx
je 0x5a7c65
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5a7c69
add eax, 4
add ecx, 4
test dx, dx
jne 0x5a7c43
xor eax, eax
jmp 0x5a7c6e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a7cdf
push 0x5bf81c
lea ecx, [ebp - 0xe74]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf54]
push edx
mov byte [ebp - 4], 0x61
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x62
call fcn.00546ce0
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0xf54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7cd3
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 - 0xe74]
jmp 0x5a7d4a
push 0x5bf858
lea ecx, [ebp - 0xe7c]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0x1024]
push edx
mov byte [ebp - 4], 0x63
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x64
call fcn.00546ce0
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7d40
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 - 0xe7c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7d66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf7f8
lea ecx, [ebp - 0xe84]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf5c]
push edx
mov byte [ebp - 4], 0x65
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x66
call fcn.00546ce0
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0xf5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7dc7
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 - 0xe84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7ded
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
mov dword [ebp - 0xd20], esi
lea ecx, [ebp - 0xd20]
push ecx
lea edx, [ebp - 0xd18]
push edx
lea eax, [ebp - 0xfcc]
push eax
mov byte [ebp - 4], 0x67
call fcn.00561840
add esp, 0x10
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x68
call fcn.00546ce0
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xfcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7e59
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], 0x4f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7e79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf840
lea ecx, [ebp - 0xf64]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe8c]
push edx
mov byte [ebp - 4], 0x69
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x6a
call fcn.00546ce0
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0xe8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7eda
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 - 0xf64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7f00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x17
call fcn.005482c0
mov eax, dword [ebp - 0xd28]
add dword [ebp - 0xd1c], 0x20
inc eax
mov dword [ebp - 0xd28], eax
cmp eax, dword [ebp - 0x128]
jl 0x5a77a6
push 0x5bf8b0
lea ecx, [ebp - 0x1004]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe94]
push edx
mov byte [ebp - 4], 0x6b
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x6c
call fcn.00546ce0
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xe94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7f8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1004]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a7fb3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bf8f0
lea ecx, [ebp - 0xf6c]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xd94]
push edx
mov byte [ebp - 4], 0x6d
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x6e
call fcn.00546ce0
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xd94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8014
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xf6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a803a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x3ac], 0
jne 0x5a82b6
push 0x5bf920
lea ecx, [ebp - 0xf7c]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xcd8]
add eax, 0xfffffff0
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0xd2c], eax
push 0x5bf9a0
lea ecx, [ebp - 0xebc]
mov byte [ebp - 4], 0x70
call fcn.00543980
mov edi, eax
mov byte [ebp - 4], 0x71
mov eax, dword [ebp - 0xd08]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], ebx
push 0x5bfa0c
lea ecx, [ebp - 0x1020]
mov byte [ebp - 4], 0x72
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xeb4]
push edx
mov byte [ebp - 4], 0x73
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf74]
push edx
mov byte [ebp - 4], 0x74
call fcn.00561840
push edi
push eax
lea eax, [ebp - 0xeac]
push eax
mov byte [ebp - 4], 0x75
call fcn.00561840
lea ecx, [ebp - 0xd2c]
push ecx
push eax
lea edx, [ebp - 0xfd4]
push edx
mov byte [ebp - 4], 0x76
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xea4]
push eax
mov byte [ebp - 4], 0x77
call fcn.00561840
add esp, 0x3c
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x78
call fcn.00546ce0
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0xea4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8166
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xfd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a818c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0xeac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a81b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xf74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a81d8
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 - 0xeb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a81fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x1020]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8224
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [ebp - 4], 0x71
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8244
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xebc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a826a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xd2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8290
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xf7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a82b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x3ac], 0
mov dword [ebp - 0xd2c], 0
jle 0x5a87d4
lea ecx, [ebp - 0x494]
mov dword [ebp - 0xd1c], ecx
lea esp, [esp]
mov ebx, dword [ebp - 0xd1c]
mov eax, dword [ebx - 8]
sub eax, 0x10
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
mov dword [ebp - 0x1038], esi
mov byte [ebp - 4], 0x79
mov eax, dword [ebx - 4]
sub eax, 0x10
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
mov dword [ebp - 0x1034], edi
mov byte [ebp - 4], 0x7a
mov eax, dword [ebx]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0x1030], eax
lea eax, [esi - 0x10]
push eax
mov byte [ebp - 4], 0x7b
call fcn.00546f50
add eax, 0x10
add esp, 0x10
mov dword [ebp - 0xd28], eax
push 0x5bfa40
lea ecx, [ebp - 0xf84]
mov byte [ebp - 4], 0x7c
call fcn.00543980
mov ebx, eax
lea eax, [edi - 0x10]
push eax
mov byte [ebp - 4], 0x7d
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], esi
push 0x5bfab0
lea ecx, [ebp - 0xecc]
mov byte [ebp - 4], 0x7e
call fcn.00543980
mov edi, eax
mov byte [ebp - 4], 0x7f
mov eax, dword [esi - 0xc]
push eax
push esi
call dword [fcn.0059450c]
test eax, eax
je 0x5aa448
push eax
lea edx, [ebp - 0xfdc]
push edi
push edx
call fcn.00561900
push ebx
push eax
lea eax, [ebp - 0xec4]
push eax
mov byte [ebp - 4], 0x80
call fcn.00561840
add esp, 0x18
mov byte [ebp - 4], 0x81
mov eax, dword [eax]
push eax
push 0x5bfad4
lea ecx, [ebp - 0xd28]
call fcn.005466d0
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0xec4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8401
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0xfdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8427
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0xecc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a844d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0x7d
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a846d
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xf84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8493
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfae8
lea ecx, [ebp - 0xf8c]
call fcn.00543980
mov edi, eax
mov byte [ebp - 4], 0x82
mov eax, dword [ebp - 0x1030]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], esi
push 0x5bfab0
lea ecx, [ebp - 0xedc]
mov byte [ebp - 4], 0x83
call fcn.00543980
mov ebx, eax
mov byte [ebp - 4], 0x84
mov eax, dword [esi - 0xc]
push eax
push esi
call dword [fcn.0059450c]
test eax, eax
je 0x5aa448
push eax
lea ecx, [ebp - 0x100c]
push ebx
push ecx
call fcn.00561900
push edi
push eax
lea edx, [ebp - 0xed4]
push edx
mov byte [ebp - 4], 0x85
call fcn.00561840
add esp, 0x18
mov byte [ebp - 4], 0x86
mov eax, dword [eax]
push eax
push 0x5bfb60
lea ecx, [ebp - 0xd28]
call fcn.005466d0
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0xed4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8551
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x84
mov eax, dword [ebp - 0x100c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8577
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x83
mov eax, dword [ebp - 0xedc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a859d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0x82
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a85bd
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xf8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a85e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xd08]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], esi
mov byte [ebp - 4], 0x87
mov eax, dword [esi - 0xc]
push eax
push esi
call dword [fcn.0059450c]
test eax, eax
je 0x5aa448
push eax
push 0x5bfb70
lea ecx, [ebp - 0xd28]
call fcn.005466d0
add esi, 0xfffffff0
mov byte [ebp - 4], 0x7c
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8646
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
push 0x5bfb80
lea ecx, [ebp - 0xda8]
call fcn.00543980
mov esi, eax
push 0x5bcc28
lea ecx, [ebp - 0xda0]
mov byte [ebp - 4], 0x88
call fcn.00543980
push eax
lea eax, [ebp - 0xd18]
push eax
lea ecx, [ebp - 0xd98]
push ecx
mov byte [ebp - 4], 0x89
call fcn.00561840
lea edx, [ebp - 0xd28]
push edx
push eax
lea eax, [ebp - 0xfe4]
push eax
mov byte [ebp - 4], 0x8a
call fcn.00561840
push esi
push eax
lea ecx, [ebp - 0xee4]
push ecx
mov byte [ebp - 4], 0x8b
call fcn.00561840
add esp, 0x24
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x8c
call fcn.00546ce0
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0xee4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a86e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8a
mov eax, dword [ebp - 0xfe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a870d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0xd98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8733
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xda0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8759
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xda8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a877f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7b
mov eax, dword [ebp - 0xd28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a87a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 0x17
call fcn.00548250
mov eax, dword [ebp - 0xd2c]
add dword [ebp - 0xd1c], 0xc
inc eax
mov dword [ebp - 0xd2c], eax
cmp eax, dword [ebp - 0x3ac]
jl 0x5a82e0
push 0x5bf6a8
lea ecx, [ebp - 0xdb8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xdb0]
push edx
mov byte [ebp - 4], 0x8d
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x8e
call fcn.00546ce0
mov byte [ebp - 4], 0x8d
mov eax, dword [ebp - 0xdb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8835
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xdb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a885b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfb90
lea ecx, [ebp - 0xdc8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xdc0]
push edx
mov byte [ebp - 4], 0x8f
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0x90
call fcn.00546ce0
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0xdc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a88bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xdc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a88e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cc330
lea ecx, [ebp - 0xd88]
call fcn.00561590
mov byte [ebp - 4], 0x91
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd1c], eax
mov byte [ebp - 4], 0x92
mov esi, dword [ebp - 0xd48]
mov ecx, dword [ebp - 0xd88]
push esi
push esi
push ecx
lea edx, [ebp - 0xd1c]
push edx
call fcn.00546fc0
lea eax, [ebp - 0xd18]
push eax
lea ecx, [ebp - 0xd34]
push ecx
lea edx, [ebp - 0xdd8]
push edx
call fcn.00561840
lea ecx, [ebp - 0xd1c]
push ecx
push eax
lea edx, [ebp - 0xdd0]
push edx
mov byte [ebp - 4], 0x93
call fcn.00561840
add esp, 0x28
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0x94
call fcn.00546ce0
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0xdd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a89a6
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 - 0xdd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a89cc
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 - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a89f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xd88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8a18
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xd18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8a3e
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], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8a5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xd58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8a84
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 - 0xd60]
jmp 0x5a9e39
push 0x5cc738
lea ecx, [ebp - 0xd80]
call fcn.00561590
push 0xa
push 0xa
lea ecx, [ebp - 0x70]
push ecx
lea edx, [esi + 2]
push edx
mov byte [ebp - 4], 0x95
call 0x69d4de
push 0xa
push 0xa
lea eax, [ebp - 0x64]
push eax
push esi
call 0x69d4de
add esp, 0x20
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xd8c]
call fcn.00561590
lea edx, [ebp - 0x64]
push edx
lea ecx, [ebp - 0xd7c]
mov byte [ebp - 4], 0x96
call fcn.00561590
mov byte [ebp - 4], 0x97
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd18], eax
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xd04]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd70], ebx
push 0x5bfba4
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x99
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0xd08]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
mov dword [ebp - 0xd20], edi
push esi
lea ecx, [ebp - 0xd20]
push ecx
lea edx, [ebp - 0xdf0]
push edx
mov byte [ebp - 4], 0x9b
call fcn.00561840
lea ecx, [ebp - 0xd70]
push ecx
push eax
lea edx, [ebp - 0xde8]
push edx
mov byte [ebp - 4], 0x9c
call fcn.00561840
add esp, 0x1c
mov esi, eax
push 0x5bfbac
lea ecx, [ebp - 0xde0]
mov byte [ebp - 4], 0x9d
call fcn.00543980
mov byte [ebp - 4], 0x9e
mov ecx, dword [esi]
mov edx, dword [eax]
mov eax, dword [ebp - 0xd8c]
push ecx
push edx
push eax
push eax
mov eax, dword [ebp - 0xd80]
push eax
lea ecx, [ebp - 0xd18]
push ecx
call fcn.00546fc0
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0xde0]
add eax, 0xfffffff0
add esp, 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a8bfd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0xde8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8c23
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 - 0xdf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8c49
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0x9a
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8c69
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0xdf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8c8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [ebp - 4], 0x98
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8caf
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
push 0x5cf870
lea ecx, [ebp - 0xe08]
call fcn.00543980
push eax
lea eax, [ebp - 0xd18]
push eax
lea ecx, [ebp - 0xe00]
push ecx
mov byte [ebp - 4], 0x9f
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xa0
call fcn.00546ce0
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0xe00]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a8d10
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 - 0xe08]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8d36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf920
lea ecx, [ebp - 0xe18]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe10]
push edx
mov byte [ebp - 4], 0xa1
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xa2
call fcn.00546ce0
mov byte [ebp - 4], 0xa1
mov eax, dword [ebp - 0xe10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8d97
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 - 0xe18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8dbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfbe4
lea ecx, [ebp - 0xe58]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xd08]
add eax, 0xfffffff0
push eax
call fcn.00546f50
add eax, 0x10
add esp, 4
mov dword [ebp - 0xd2c], eax
push 0x5bfc14
lea ecx, [ebp - 0xe50]
mov byte [ebp - 4], 0xa4
call fcn.00543980
mov edi, eax
mov ecx, dword [ebp - 0xd4c]
mov byte [ebp - 4], 0xa5
mov eax, dword [ecx + 0x18]
sub eax, 0x10
push eax
call fcn.00546f50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], ebx
push 0x5bfc38
lea ecx, [ebp - 0xe48]
mov byte [ebp - 4], 0xa6
call fcn.00543980
push eax
lea edx, [ebp - 0xd18]
push edx
lea eax, [ebp - 0xe40]
push eax
mov byte [ebp - 4], 0xa7
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xe38]
push edx
mov byte [ebp - 4], 0xa8
call fcn.00561840
push edi
push eax
lea eax, [ebp - 0xe30]
push eax
mov byte [ebp - 4], 0xa9
call fcn.00561840
lea ecx, [ebp - 0xd2c]
push ecx
push eax
lea edx, [ebp - 0xe28]
push edx
mov byte [ebp - 4], 0xaa
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xe20]
push eax
mov byte [ebp - 4], 0xab
call fcn.00561840
add esp, 0x3c
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xac
call fcn.00546ce0
mov byte [ebp - 4], 0xab
mov eax, dword [ebp - 0xe20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8edf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0xe28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8f05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa9
mov eax, dword [ebp - 0xe30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8f2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0xe38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8f51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xe40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8f77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa6
mov eax, dword [ebp - 0xe48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8f9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [ebp - 4], 0xa5
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8fbd
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0xe50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a8fe3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xd2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9009
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 - 0xe58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a902f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xd00]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], esi
push 0x5bfca4
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0xad
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe68]
push edx
mov byte [ebp - 4], 0xae
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xe60]
push edx
mov byte [ebp - 4], 0xaf
call fcn.00561840
add esp, 0x18
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xb0
call fcn.00546ce0
mov byte [ebp - 4], 0xaf
mov eax, dword [ebp - 0xe60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a90c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xae
mov eax, dword [ebp - 0xe68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a90ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xad
mov eax, dword [ebp - 0xe70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9113
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], 0x98
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9133
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf9d4
lea ecx, [ebp - 0xe80]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe78]
push edx
mov byte [ebp - 4], 0xb1
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xb2
call fcn.00546ce0
mov byte [ebp - 4], 0xb1
mov eax, dword [ebp - 0xe78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9194
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 - 0xe80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a91ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfcb8
lea ecx, [ebp - 0xea8]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0xce0]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], edi
push 0x5bf3d0
lea ecx, [ebp - 0xea0]
mov byte [ebp - 4], 0xb4
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xe98]
push edx
mov byte [ebp - 4], 0xb5
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xe90]
push edx
mov byte [ebp - 4], 0xb6
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xe88]
push eax
mov byte [ebp - 4], 0xb7
call fcn.00561840
add esp, 0x24
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xb8
call fcn.00546ce0
mov byte [ebp - 4], 0xb7
mov eax, dword [ebp - 0xe88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a927a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb6
mov eax, dword [ebp - 0xe90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a92a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb5
mov eax, dword [ebp - 0xe98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a92c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0xea0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a92ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0xb3
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a930c
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xea8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9332
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf9e8
lea ecx, [ebp - 0xeb8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xeb0]
push edx
mov byte [ebp - 4], 0xb9
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xba
call fcn.00546ce0
mov byte [ebp - 4], 0xb9
mov eax, dword [ebp - 0xeb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9393
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 - 0xeb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a93b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cfa10
lea ecx, [ebp - 0xec8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xec0]
push edx
mov byte [ebp - 4], 0xbb
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xbc
call fcn.00546ce0
mov byte [ebp - 4], 0xbb
mov eax, dword [ebp - 0xec0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a941a
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 - 0xec8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9440
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfcc8
lea ecx, [ebp - 0xee8]
call fcn.00543980
mov esi, eax
push fcn.005bfd08
lea ecx, [ebp - 0xee0]
mov byte [ebp - 4], 0xbd
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xed8]
push edx
mov byte [ebp - 4], 0xbe
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xed0]
push eax
mov byte [ebp - 4], 0xbf
call fcn.00561840
add esp, 0x18
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xc0
call fcn.00546ce0
mov byte [ebp - 4], 0xbf
mov eax, dword [ebp - 0xed0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a94c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xbe
mov eax, dword [ebp - 0xed8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a94ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xbd
mov eax, dword [ebp - 0xee0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9515
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 - 0xee8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a953b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfd68
lea ecx, [ebp - 0xef8]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xef0]
push edx
mov byte [ebp - 4], 0xc1
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xc2
call fcn.00546ce0
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0xef0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a959c
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 - 0xef8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a95c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xcd8]
xor bl, bl
call fcn.00561720
test eax, eax
je 0x5a9756
push 0x5bfdb8
lea ecx, [ebp - 0xf20]
mov bl, 1
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp - 0xcd8]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], edi
push 0x5bfe38
lea ecx, [ebp - 0xf18]
mov byte [ebp - 4], 0xc4
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf10]
push edx
mov byte [ebp - 4], 0xc5
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf08]
push edx
mov byte [ebp - 4], 0xc6
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xf00]
push eax
mov byte [ebp - 4], 0xc7
call fcn.00561840
add esp, 0x24
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xc8
call fcn.00546ce0
mov byte [ebp - 4], 0xc7
mov eax, dword [ebp - 0xf00]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a969e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0xf08]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a96c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc5
mov eax, dword [ebp - 0xf10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a96ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0xf18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9710
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0xc3
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9730
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xf20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9756
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xcdc]
mov byte [ebp - 0xd35], 0
call fcn.00561720
test eax, eax
je 0x5a99ec
mov byte [ebp - 0xd35], 1
test bl, bl
je 0x5a97ed
push 0x5bfe88
lea ecx, [ebp - 0xf30]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf28]
push edx
mov byte [ebp - 4], 0xc9
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xca
call fcn.00546ce0
mov byte [ebp - 4], 0xc9
mov eax, dword [ebp - 0xf28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a97e1
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 - 0xf30]
jmp 0x5a9858
push 0x5bfe90
lea ecx, [ebp - 0xf40]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf38]
push edx
mov byte [ebp - 4], 0xcb
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xcc
call fcn.00546ce0
mov byte [ebp - 4], 0xcb
mov eax, dword [ebp - 0xf38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a984e
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 - 0xf40]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9874
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bfec0
lea ecx, [ebp - 0xf68]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xcd
mov eax, dword [ebp - 0xcdc]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], edi
push 0x5bff3c
lea ecx, [ebp - 0xf60]
mov byte [ebp - 4], 0xce
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf58]
push edx
mov byte [ebp - 4], 0xcf
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf50]
push edx
mov byte [ebp - 4], 0xd0
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xf48]
push eax
mov byte [ebp - 4], 0xd1
call fcn.00561840
add esp, 0x24
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xd2
call fcn.00546ce0
mov byte [ebp - 4], 0xd1
mov eax, dword [ebp - 0xf48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9934
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd0
mov eax, dword [ebp - 0xf50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a995a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0xf58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9980
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0xf60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a99a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0xcd
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a99c6
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xf68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a99ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x5a9a88
cmp byte [ebp - 0xd35], 0
jne 0x5a9a88
push 0x5bf3f0
lea ecx, [ebp - 0xf78]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf70]
push edx
mov byte [ebp - 4], 0xd3
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xd4
call fcn.00546ce0
mov byte [ebp - 4], 0xd3
mov eax, dword [ebp - 0xf70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9a62
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 - 0xf78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9a88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bff64
lea ecx, [ebp - 0xd50]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xd5
mov eax, dword [ebp - 0xd08]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xd20], edi
push 0x5bff68
lea ecx, [ebp - 0xd64]
mov byte [ebp - 4], 0xd6
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xf90]
push edx
mov byte [ebp - 4], 0xd7
call fcn.00561840
lea ecx, [ebp - 0xd20]
push ecx
push eax
lea edx, [ebp - 0xf88]
push edx
mov byte [ebp - 4], 0xd8
call fcn.00561840
push esi
push eax
lea eax, [ebp - 0xf80]
push eax
mov byte [ebp - 4], 0xd9
call fcn.00561840
add esp, 0x24
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xda
call fcn.00546ce0
mov byte [ebp - 4], 0xd9
mov eax, dword [ebp - 0xf80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9b48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd8
mov eax, dword [ebp - 0xf88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9b6e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd7
mov eax, dword [ebp - 0xf90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9b94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd6
mov eax, dword [ebp - 0xd64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9bba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0xd5
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9bda
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xd50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9c00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cfa40
lea ecx, [ebp - 0xd44]
call fcn.00543980
push eax
lea ecx, [ebp - 0xd18]
push ecx
lea edx, [ebp - 0xd3c]
push edx
mov byte [ebp - 4], 0xdb
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd18]
mov byte [ebp - 4], 0xdc
call fcn.00546ce0
mov byte [ebp - 4], 0xdb
mov eax, dword [ebp - 0xd3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9c61
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 - 0xd44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9c87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cc330
lea ecx, [ebp - 0xd90]
call fcn.00561590
mov byte [ebp - 4], 0xdd
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a610a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd1c], eax
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0xd7c]
mov ecx, dword [ebp - 0xd90]
push eax
push eax
push ecx
lea edx, [ebp - 0xd1c]
push edx
call fcn.00546fc0
lea eax, [ebp - 0xd18]
push eax
lea ecx, [ebp - 0xd34]
push ecx
lea edx, [ebp - 0xd24]
push edx
call fcn.00561840
lea ecx, [ebp - 0xd1c]
push ecx
push eax
lea edx, [ebp - 0xd40]
push edx
mov byte [ebp - 4], 0xdf
call fcn.00561840
add esp, 0x28
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0xe0
call fcn.00546ce0
mov byte [ebp - 4], 0xdf
mov eax, dword [ebp - 0xd40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9d4b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9d71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xdd
mov eax, dword [ebp - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9d97
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 - 0xd90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9dbd
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 - 0xd18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9de3
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 - 0xd7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9e09
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 - 0xd8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9e2f
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 - 0xd80]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9e55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xd14]
mov byte [ebp - 4], 0xf
call fcn.00547f20
mov esi, dword [ebp - 0xd30]
mov ecx, dword [ebp - 0xd4c]
inc esi
mov dword [ebp - 0xd30], esi
cmp esi, dword [ecx + 0x1f93c]
jl 0x5a6378
mov edi, ecx
add esi, 2
cmp byte [edi + 0x2f618], 0
je 0x5aa05b
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a9eaf
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 - 0xd1c], eax
push 0xa
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push esi
mov byte [ebp - 4], 0xe1
call 0x69d4de
add esp, 0x10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0xd50]
inc esi
call fcn.00561590
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xd3c]
mov byte [ebp - 4], 0xe2
call fcn.00561590
mov ebx, eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0xd44]
mov byte [ebp - 4], 0xe3
call fcn.00561590
mov dword [ebp - 0xd24], eax
push 0x5cb968
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0xe4
call fcn.00561590
mov byte [ebp - 4], 0xe5
mov edx, dword [ebx]
mov ecx, dword [ebp - 0xd24]
mov eax, dword [eax]
push edx
mov edx, dword [ecx]
push edx
push eax
lea eax, [ebp - 0xd1c]
push eax
call fcn.00546fc0
mov byte [ebp - 4], 0xe4
mov eax, dword [ebp - 0xd40]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9f70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe3
mov eax, dword [ebp - 0xd44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9f96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe2
mov eax, dword [ebp - 0xd3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a9fbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xd1c]
push ecx
lea edx, [ebp - 0xd34]
push edx
lea eax, [ebp - 0xd24]
push eax
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0xe6
call fcn.00546ce0
mov byte [ebp - 4], 0xe2
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa00f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe1
mov eax, dword [ebp - 0xd50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa035
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 - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa05b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5aa075
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 - 0xd1c], eax
push 0xa
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push esi
mov byte [ebp - 4], 0xe7
call 0x69d4de
add esp, 0x10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0xd3c]
inc esi
call fcn.00561590
mov ebx, eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xd44]
mov byte [ebp - 4], 0xe8
call fcn.00561590
mov dword [ebp - 0xd24], eax
push 0x5cae38
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0xe9
call fcn.00561590
mov byte [ebp - 4], 0xea
mov ecx, dword [ebx]
mov edx, dword [ebp - 0xd24]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0xd68]
push ecx
push ecx
mov ecx, dword [edx]
push ecx
push eax
lea edx, [ebp - 0xd1c]
push edx
call fcn.00546fc0
mov byte [ebp - 4], 0xe9
mov eax, dword [ebp - 0xd40]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa12b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe8
mov eax, dword [ebp - 0xd44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa151
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe7
mov eax, dword [ebp - 0xd3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa177
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xd1c]
push ecx
lea edx, [ebp - 0xd34]
push edx
lea eax, [ebp - 0xd24]
push eax
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0xeb
call fcn.00546ce0
mov byte [ebp - 4], 0xe7
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa1ca
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 - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa1f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5aa20a
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 - 0xd1c], eax
push 0xa
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push esi
mov byte [ebp - 4], 0xec
call 0x69d4de
mov eax, dword [edi + 0xc]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
add esp, 0x14
mov dword [ebp - 0xd30], eax
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0xd44]
mov byte [ebp - 4], 0xed
call fcn.00561590
mov esi, eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0xee
call fcn.00561590
mov ebx, eax
push 0x5ca6f0
lea ecx, [ebp - 0xd24]
mov byte [ebp - 4], 0xef
call fcn.00561590
mov byte [ebp - 4], 0xf0
mov ecx, dword [ebp - 0xd30]
mov edx, dword [esi]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0xd68]
push edx
mov edx, dword [ebx]
push ecx
push edx
push eax
lea eax, [ebp - 0xd1c]
push eax
call fcn.00546fc0
mov byte [ebp - 4], 0xef
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa2d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xee
mov eax, dword [ebp - 0xd40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa2fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xed
mov eax, dword [ebp - 0xd44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa320
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xec
mov eax, dword [ebp - 0xd30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa346
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xd1c]
push ecx
lea edx, [ebp - 0xd34]
push edx
lea eax, [ebp - 0xd24]
push eax
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0xf1
call fcn.00546ce0
mov byte [ebp - 4], 0xec
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa399
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 - 0xd1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa3bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xd5c]
push ecx
lea edx, [ebp - 0xd34]
push edx
lea eax, [ebp - 0xd24]
push eax
call fcn.00561840
add esp, 0xc
push eax
lea ecx, [ebp - 0xd34]
mov byte [ebp - 4], 0xf2
call fcn.00546ce0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa412
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xd78]
push 0x5bd1a8
push ecx
lea edx, [ebp - 0xd6c]
push edx
call fcn.00561900
add esp, 0xc
mov byte [ebp - 4], 0xf3
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
mov esi, eax
test esi, esi
jne 0x5aa44d
call fcn.00543e90
lea ecx, [ebp - 0x1050]
call fcn.005c3ce5
push 0
push 0x5001
push esi
lea ecx, [ebp - 0x1050]
mov byte [ebp - 4], 0xf4
call fcn.005c3bc3
test eax, eax
je 0x5aa495
mov eax, dword [ebp - 0xd34]
push eax
lea ecx, [ebp - 0x1050]
call fcn.005c3dc0
lea ecx, [ebp - 0x1050]
call fcn.005c3f86
jmp 0x5aa70e
call dword [fcn.005944d0]
push 0xa
lea ecx, [ebp - 0x4c]
push ecx
push eax
call 0x69d2a4
add esp, 0xc
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd44]
call fcn.00561590
mov esi, eax
push 0x5c6408
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0xf5
call fcn.00543980
push esi
push eax
lea eax, [ebp - 0xd24]
push eax
mov byte [ebp - 4], 0xf6
call fcn.00561840
push 0x5c63f8
push eax
lea ecx, [ebp - 0xd78]
push ecx
mov byte [ebp - 4], 0xf7
call fcn.00561900
lea edx, [ebp - 0xd6c]
push edx
push eax
lea eax, [ebp - 0xd30]
push eax
mov byte [ebp - 4], 0xf8
call fcn.00561840
add esp, 0x24
mov byte [ebp - 4], 0xfa
mov eax, dword [ebp - 0xd78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa538
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfb
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa55e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfc
mov eax, dword [ebp - 0xd40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa584
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfd
mov eax, dword [ebp - 0xd44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa5aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xd64]
call fcn.00543980
mov esi, eax
push 0x5bcde8
lea ecx, [ebp - 0xd50]
mov byte [ebp - 4], 0xfe
call fcn.00543980
mov ebx, eax
push 0x5c6418
lea ecx, [ebp - 0xd3c]
mov byte [ebp - 4], 0xff
call fcn.00543980
push esi
lea ecx, [ebp - 0xd30]
push ecx
push ebx
push eax
lea edx, [edi + 4]
push edx
lea eax, [ebp - 0x1064]
push eax
mov ecx, 1
mov dword [ebp - 4], pe_nt_image_headers32
call fcn.00582490
mov dword [ebp - 4], 0xff
mov eax, dword [ebp - 0xd3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa635
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfe
mov eax, dword [ebp - 0xd50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa65b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfd
mov eax, dword [ebp - 0xd64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa681
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push 0
push 0x5bfff8
call fcn.005b9840
push 0x5cfaa8
lea ecx, [ebp - 0xd3c]
call fcn.00543980
mov dword [ebp - 4], 0x101
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [edi + 0x2f634]
call fcn.00546e90
mov dword [ebp - 4], 0xfd
mov eax, dword [ebp - 0xd3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa6e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf4
mov eax, dword [ebp - 0xd30]
add eax, 0xfffffff0
mov byte [ebp - 0xd36], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa70e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c0078
lea ecx, [ebp - 0xd24]
call fcn.00543980
mov esi, eax
mov dword [ebp - 4], 0x102
call fcn.0057d100
mov dword [ebp - 4], 0xf4
mov eax, dword [ebp - 0xd24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa755
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x1050]
mov byte [ebp - 4], 0xf3
call fcn.005c3fc4
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa78a
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 - 0xd34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa7b0
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 - 0xd5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa7d6
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 - 0xd74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa7fc
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 - 0xfd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa822
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 - 0xfd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa848
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xfe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa86e
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 - 0xfe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa894
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xd68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa8ba
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 - 0xd54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa8e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [ebp - 0x1060]
mov dword [ebp - 4], 0x103
call fcn.00561be0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1064]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5aa91b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, byte [ebp - 0xd36]
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 4