Function at 0x593320
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x587e59
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x5fadc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov esi, edx
mov dword [ebp - 0x5c], 0
mov eax, dword [esi + 0x14]
sub eax, 0x10
mov ebx, ecx
push eax
mov dword [ebp - 0x90], ebx
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0x9c], eax
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x20]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 1
mov eax, dword [esi + 0x1c]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 2
mov eax, dword [esi + 0x2c]
sub eax, 0x10
push eax
call fcn.00546f50
add eax, 0x10
add esp, 0x10
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 3
mov eax, dword [esi + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
jne 0x5933e3
call fcn.00543e90
push eax
push 0x5c6578
mov ecx, ebx
call fcn.005466d0
mov eax, dword [edi + 8]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
jne 0x593407
call fcn.00543e90
push eax
push 0x5c6598
mov ecx, ebx
call fcn.005466d0
mov eax, dword [esi + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
jne 0x59342b
call fcn.00543e90
push eax
push 0x5c5768
mov ecx, ebx
call fcn.005466d0
mov esi, dword [esi + 0x1c]
mov eax, dword [esi - 0xc]
push eax
push esi
call dword [fcn.0059450c]
test eax, eax
jne 0x59344f
call fcn.00543e90
push eax
push 0x5c65b8
mov ecx, ebx
call fcn.005466d0
mov eax, dword [edi + 4]
mov ecx, dword [eax - 0xc]
mov esi, dword [fcn.0059450c]
push ecx
push eax
call esi
test eax, eax
jne 0x593475
call fcn.00543e90
push eax
push 0x5c65ec
mov ecx, ebx
call fcn.005466d0
mov ecx, dword [edi + 0xc]
push 0xa
lea eax, [ebp - 0x50]
push eax
push ecx
call 0x69d2a4
add esp, 0xc
push 0x5bdac4
lea ecx, [ebp - 0x54]
call fcn.00543980
mov byte [ebp - 4], 4
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call esi
test eax, eax
jne 0x5934b7
call fcn.00543e90
push eax
push 0x5c660c
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5934e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi + 0x10]
push 0xa
lea ecx, [ebp - 0x30]
push ecx
push edx
call 0x69d2a4
add esp, 0xc
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x593513
push 0x80004005
call fcn.00542c90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x54], esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 5
test ecx, 0xffff0000
jne 0x59354c
mov edx, ecx
movzx edi, dx
push edi
call fcn.005b00d5
test eax, eax
je 0x59355b
push edi
push eax
lea ecx, [ebp - 0x54]
call fcn.00543b60
jmp 0x593558
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x54]
call fcn.00561ad0
mov esi, dword [ebp - 0x54]
mov byte [ebp - 4], 6
mov eax, dword [esi - 0xc]
mov edi, dword [fcn.0059450c]
push eax
push esi
call edi
test eax, eax
jne 0x593575
call fcn.00543e90
push eax
push 0x5c662c
mov ecx, ebx
call fcn.005466d0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5935a2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcaf8
push 0x5c6650
mov ecx, ebx
call fcn.005466d0
push 0x5bcafc
push 0x5c665c
mov ecx, ebx
call fcn.005466d0
push 0x5bcc28
lea ecx, [ebp - 0x98]
call fcn.00543980
push 0x73
mov byte [ebp - 4], 7
call fcn.005b00d5
test eax, eax
je 0x593693
push 0x73
push eax
lea ecx, [ebp - 0x98]
call fcn.00543b60
test eax, eax
je 0x593693
push 0x5bce00
lea ecx, [ebp - 0x6c]
call fcn.00543980
push 0x5bcafc
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
push ecx
mov dword [ebp - 0x5c], 1
call fcn.00561900
add esp, 0xc
mov dword [ebp - 4], 9
mov esi, dword [eax]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x5c], 3
call fcn.00546a30
mov ecx, eax
call fcn.00546ab0
xor ecx, ecx
test esi, esi
setne cl
test ecx, ecx
jne 0x59365e
push 0x80004005
call fcn.00542c90
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x593686
test cx, cx
je 0x593682
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x593686
add eax, 4
add esi, 4
test cx, cx
jne 0x593660
xor eax, eax
jmp 0x59368b
sbb eax, eax
sbb eax, 0xffffffff
mov byte [ebp - 0x65], 1
test eax, eax
jne 0x593697
mov byte [ebp - 0x65], 0
mov dword [ebp - 4], 8
test byte [ebp - 0x5c], 2
je 0x5936c7
mov eax, dword [ebp - 0x54]
and dword [ebp - 0x5c], 0xfffffffd
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5936c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 7
test byte [ebp - 0x5c], 1
je 0x5936f7
mov eax, dword [ebp - 0x6c]
and dword [ebp - 0x5c], 0xfffffffe
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5936f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x65], 0
je 0x59383a
push 0x5bf3d0
lea ecx, [ebp - 0x54]
call fcn.00543980
push 0x5c6668
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.00543980
mov esi, eax
lea ecx, [ebp - 0x98]
push ecx
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0xb
call fcn.00561840
push esi
push eax
lea ecx, [ebp - 0x6c]
push ecx
mov byte [ebp - 4], 0xc
call fcn.00561840
add esp, 0x18
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xd
call fcn.00546ce0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59377b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59379e
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 - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5937c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 0xe
mov eax, dword [esi - 0xc]
push eax
push esi
call edi
test eax, eax
jne 0x5937ea
call fcn.00543e90
push eax
push 0x5c66a0
mov ecx, ebx
call fcn.005466d0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593817
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 - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59383a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcde8
lea ecx, [ebp - 0x58]
call fcn.00543980
mov byte [ebp - 4], 0xf
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x59385d
call fcn.00543e90
push eax
push 0x5c66a0
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59388d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0x94]
call fcn.00543980
push 0x74
mov byte [ebp - 4], 0x10
call fcn.005b00d5
test eax, eax
je 0x593956
push 0x74
push eax
lea ecx, [ebp - 0x94]
call fcn.00543b60
test eax, eax
je 0x593956
push 0x5bce48
lea ecx, [ebp - 0x64]
call fcn.00543980
push 0x5bcafc
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x11
or dword [ebp - 0x5c], 4
push ecx
call fcn.00561900
add esp, 0xc
mov dword [ebp - 4], 0x12
or dword [ebp - 0x5c], 8
mov esi, dword [eax]
lea ecx, [ebp - 0x94]
call fcn.00546a30
mov ecx, eax
call fcn.00546ab0
xor ecx, ecx
test esi, esi
setne cl
test ecx, ecx
jne 0x593921
push 0x80004005
call fcn.00542c90
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x593949
test cx, cx
je 0x593945
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x593949
add eax, 4
add esi, 4
test cx, cx
jne 0x593923
xor eax, eax
jmp 0x59394e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x593956
mov bl, 1
jmp 0x593958
xor bl, bl
mov dword [ebp - 4], 0x11
test byte [ebp - 0x5c], 8
je 0x593988
mov eax, dword [ebp - 0x58]
and dword [ebp - 0x5c], 0xfffffff7
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x593988
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0x10
test byte [ebp - 0x5c], 4
je 0x5939b4
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5939b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x593b03
push 0x5bf3d0
lea ecx, [ebp - 0x54]
call fcn.00543980
push 0x5c66c8
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x13
call fcn.00543980
mov esi, eax
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x14
call fcn.00561840
push esi
push eax
lea ecx, [ebp - 0x58]
mov bl, 0x15
push ecx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0x18
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x16
call fcn.00546ce0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x593a36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593a59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593a7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 0x17
mov eax, dword [esi - 0xc]
mov edi, dword [fcn.0059450c]
push eax
push esi
call edi
test eax, eax
jne 0x593aab
call fcn.00543e90
mov ebx, dword [ebp - 0x90]
push eax
push 0x5c66fc
mov ecx, ebx
call fcn.005466d0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593ade
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 - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593b0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x593b0f
mov edi, dword [fcn.0059450c]
mov ebx, dword [ebp - 0x90]
push 0x5bcde8
lea ecx, [ebp - 0x58]
call fcn.00543980
mov byte [ebp - 4], 0x18
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x593b32
call fcn.00543e90
push eax
push 0x5c66fc
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593b62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c6720
lea ecx, [ebp - 0x58]
call fcn.00543980
mov byte [ebp - 4], 0x19
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x593b85
call fcn.00543e90
push eax
push 0x5c6770
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593bb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c67a0
lea ecx, [ebp - 0x58]
call fcn.00543980
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x593bd8
call fcn.00543e90
push eax
push 0x5c67f8
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593c08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c6830
lea ecx, [ebp - 0x58]
call fcn.00543980
mov byte [ebp - 4], 0x1b
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call edi
test eax, eax
jne 0x593c2b
call fcn.00543e90
push eax
push 0x5c6878
mov ecx, ebx
call fcn.005466d0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593c5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c68a0
lea ecx, [ebp - 0x60]
call fcn.00543980
mov esi, eax
push 0x5c692c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1c
call fcn.00543980
mov edi, eax
push 0x5c6938
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x1d
call fcn.00543980
mov ebx, eax
push 0x5c69e8
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1e
call fcn.00543980
mov dword [ebp - 0x64], eax
push 0x5c6a98
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x1f
call fcn.00543980
mov dword [ebp - 0x58], eax
push 0x5c6b48
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x20
call fcn.00543980
push eax
lea ecx, [ebp - 0x70]
push 0x5c6c68
push ecx
mov byte [ebp - 4], 0x21
call fcn.005619e0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x58]
push edx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00561840
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x64]
push ecx
push eax
lea edx, [ebp - 0x7c]
push edx
call fcn.00561840
push ebx
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x24
call fcn.00561840
push edi
push eax
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 4], 0x25
call fcn.00561840
push esi
push eax
lea edx, [ebp - 0x6c]
mov bl, 0x26
push edx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0x48
mov byte [ebp - 4], 0x27
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
jne 0x593d54
call fcn.00543e90
mov ecx, dword [ebp - 0x90]
push eax
push 0x5c6d84
call fcn.005466d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593d87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593daa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593dcd
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 - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593df0
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 - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593e16
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 - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593e39
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593e5f
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593e85
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 - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593ea8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593ecb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593eee
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 - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x593f11
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c6da8
lea ecx, [ebp - 0x5c]
call fcn.00543980
mov esi, eax
push 0x5bcafc
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x28
call fcn.00543980
mov edi, eax
push 0x5c6e38
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x29
call fcn.00543980
mov ebx, eax
push 0x5c6ee0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x2a
call fcn.00543980
mov dword [ebp - 0x74], eax
push 0x5c6f88
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2b
call fcn.00543980
mov dword [ebp - 0x60], eax
push 0x5c6b48
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x2c
call fcn.00543980
push eax
lea ecx, [ebp - 0x88]
push 0x5c7030
push ecx
mov byte [ebp - 4], 0x2d
call fcn.005619e0
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x60]
push edx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00561840
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x74]
push ecx
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.00561840
push ebx
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x30
call fcn.00561840
push edi
push eax
lea ecx, [ebp - 0x78]
push ecx
mov byte [ebp - 4], 0x31
call fcn.00561840
push esi
push eax
lea edx, [ebp - 0x80]
mov bl, 0x32
push edx
mov byte [ebp - 4], bl
call fcn.00561840
add esp, 0x48
mov byte [ebp - 4], 0x33
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
jne 0x59400a
call fcn.00543e90
mov ecx, dword [ebp - 0x90]
push eax
push fcn.005c7138
call fcn.005466d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59403d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax