Function at 0x597cd4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x588554
mov eax, dword fs:[0]
push eax
mov eax, 0x11e8
call 0x698f00
mov eax, dword [0x5f2e00]
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 esi, ecx
lea ecx, [ebp - 0x1050]
mov bl, 1
push ecx
mov dword [ebp - 0x1040], esi
mov dword [ebp - 0x1024], eax
mov byte [ebp - 0x1025], bl
call fcn.005752e0
push 0x5c7954
lea ecx, [ebp - 0x1060]
mov dword [ebp - 4], 0
mov byte [ebp - 0x101d], 0
call fcn.0053e950
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push edx
lea ecx, [esi + 0x80498]
push eax
call fcn.00541de0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1060]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x597720
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b6c40
lea ecx, [ebp - 0x1048]
call fcn.0053e950
mov esi, eax
push 0x5b6e00
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 2
call fcn.0053e950
mov ebx, eax
push 0x5b6e00
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 3
call fcn.0053e950
mov edi, eax
push 0x5c7980
lea ecx, [ebp - 0x100c]
mov byte [ebp - 4], 4
call fcn.0053e950
mov ecx, dword [ebp - 0x1040]
push esi
push ebx
push edi
add ecx, 4
push eax
push ecx
mov byte [ebp - 4], 5
mov dword [ebp - 0x1060], ecx
lea ecx, [ebp - 0x1050]
push ecx
mov ecx, 7
call fcn.00579d30
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x100c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5977c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
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 0x5977e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1044]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59780d
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 - 0x1048]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597833
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x1024]
mov ebx, edi
call fcn.00597440
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov ebx, dword [fcn.0058e504]
push ecx
push eax
call ebx
test eax, eax
jne 0x597858
call fcn.0053ee60
lea edx, [eax + 2]
jmp 0x597860
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x597860
sub eax, edx
sar eax, 1
inc eax
push eax
call 0x693a5d
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
add esp, 4
push ecx
push eax
call ebx
test eax, eax
jne 0x59788d
call fcn.0053ee60
mov edi, 0xf423f
xor ecx, ecx
cmp word [eax + ecx*2], 0
je 0x5978a3
mov dl, byte [eax + ecx*2]
mov byte [ecx + esi], dl
jmp 0x5978a9
xor edi, edi
mov byte [ecx + esi], 0
inc ecx
cmp ecx, edi
jb 0x597894
lea ecx, [ebp - 0x11f4]
call fcn.005a3900
push 0
push 0
push esi
lea ecx, [ebp - 0x11f4]
mov byte [ebp - 4], 6
call fcn.005a5720
cmp byte [ebp - 0x11c8], 0
je 0x597a95
push 0x5b6c40
lea ecx, [ebp - 0x1048]
call fcn.0053e950
mov esi, eax
push 0x5b6e00
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 7
call fcn.0053e950
mov ebx, eax
push 0x5b6e00
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 8
call fcn.0053e950
mov edi, eax
push 0x5c7988
lea ecx, [ebp - 0x100c]
mov byte [ebp - 4], 9
call fcn.0053e950
push esi
push ebx
push edi
push eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x1060]
push eax
lea ecx, [ebp - 0x1050]
push ecx
mov ecx, 1
call fcn.00579d30
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x100c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x597972
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 - 0x101c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597998
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 - 0x1044]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5979be
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 - 0x1048]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5979e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1024]
mov edx, dword [ecx]
mov eax, dword [edx - 0xc]
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push eax
call 0x6b0fd4
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x101c]
call fcn.0055b170
push eax
lea eax, [ebp - 0x100c]
push 0x5c7990
mov bl, 0xb
push eax
mov byte [ebp - 4], bl
call fcn.0055b4d0
add esp, 0xc
mov ecx, dword [ebp - 0x1040]
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push edx
add ecx, 0x80494
push eax
call fcn.00541de0
mov byte [ebp - 4], bl
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 0x597a68
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 - 0x101c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597a8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 0x1025], 0
push 0x5c79f0
lea ecx, [ebp - 0x100c]
call fcn.0053e950
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.005759c0
mov byte [ebp - 4], 6
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 0x597ad6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x1040]
xor edi, edi
mov dword [ebx + 0x4022c], edi
mov dword [ebx + 0x80420], edi
mov dword [ebx + 0x80474], edi
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x597b0a
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0xe
push edx
mov dword [ebp - 0x101c], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597b55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x597b6f
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0xf
push edx
mov dword [ebp - 0x1044], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597bba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x597bd4
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea ecx, [ebp - 0x100c]
push ecx
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 0x10
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x597c19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597c33
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 0x11
push edx
mov dword [ebp - 0x1048], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597c7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597c98
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x18]
mov byte [ebp - 4], 0x12
push edx
mov dword [ebp - 0x104c], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597ce3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597cfd
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x1c]
mov byte [ebp - 4], 0x13
push edx
mov dword [ebp - 0x1008], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597d48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597d62
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x20]
push edx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x1030], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597dad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597dc7
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x24]
push edx
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x1054], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597e12
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597e2c
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 0x16
push edx
mov dword [ebp - 0x1038], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597e77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x597e91
push 0x80004005
call fcn.0053dc90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea edx, [ebp - 0x100c]
lea ecx, [ebx + 0x2c]
push edx
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x1058], ecx
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597edc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b6c40
lea ecx, [ebp - 0x100c]
call fcn.0053e950
lea ecx, [ebx + 0x30]
mov byte [ebp - 4], 0x18
push eax
mov dword [ebp - 0x105c], ecx
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x597f25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b6c40
lea ecx, [ebp - 0x100c]
call fcn.0053e950
lea ecx, [ebx + 0x34]
mov byte [ebp - 4], 0x19
push eax
mov dword [ebp - 0x1064], ecx
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x597f6e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7a38
lea ecx, [ebp - 0x11f4]
mov byte [ebx + 0x38], 0
mov dword [ebx + 0x80478], 0x1010001
mov word [ebx + 0x8047c], 0x101
call fcn.005a3040
test eax, eax
jne 0x597ffc
mov dword [ebp - 0x11f4], 0x58ef94
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x11c0]
cmp eax, 0x5f4b80
je 0x597fbd
push eax
call fcn.005a63a7
add esp, 4
lea ecx, [ebp - 0x11f4]
mov byte [ebp - 4], 0
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1050]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x597ff5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x59c550
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov esi, eax
mov dword [ebp - 0x1068], esi
test esi, esi
jne 0x598021
mov dword [ebp - 0x11f4], 0x58ef94
mov byte [ebp - 4], 0x1b
jmp 0x597fa7
push 0x5c7a40
mov ecx, esi
call fcn.005a3100
test eax, eax
je 0x598092
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1024]
call fcn.0055b170
push 0x5b7358
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 0x1c
call fcn.0055b210
test eax, eax
jne 0x59806c
mov byte [ebp - 0x101d], 1
mov byte [ebp - 4], 6
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 0x598092
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7a50
mov ecx, esi
call fcn.005a3100
test eax, eax
je 0x5980f4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x101c]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x5980f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7a5c
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x598156
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x1044]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598156
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7a6c
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x5981b5
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
push eax
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 0x1f
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x5981b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7a78
mov ecx, esi
call fcn.005a3040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov esi, eax
push 0x5ba640
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x59822e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x1048]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x59822e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ba644
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x598398
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x104c]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598294
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b6c40
lea ecx, [ebp - 0x1010]
call fcn.0053e950
mov bl, 0x22
push 0x85
mov byte [ebp - 4], bl
call fcn.005a6607
test eax, eax
je 0x598372
push 0x85
push eax
lea ecx, [ebp - 0x1010]
call fcn.0053eb30
test eax, eax
je 0x598372
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx - 0xc], 0
je 0x598372
push 0x5b6b10
lea ecx, [ebp - 0x101c]
call fcn.0053e950
push 0x5c7a84
push eax
lea edx, [ebp - 0x100c]
push edx
mov byte [ebp - 4], 0x23
call fcn.0055b3f0
add esp, 0xc
mov byte [ebp - 4], 0x24
mov eax, dword [eax]
push 0x5b6c40
push eax
lea ecx, [ebp - 0x1010]
call fcn.00541640
lea ecx, [ebp - 0x100c]
call fcn.00543120
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], bl
call fcn.00543120
lea ecx, [ebp - 0x1010]
call fcn.005419a0
push eax
lea ecx, [ebp - 0x1010]
call fcn.00541c50
mov eax, dword [ebp - 0x1010]
cmp dword [eax - 0xc], 0
jle 0x598372
lea ecx, [ebp - 0x1010]
push ecx
mov ecx, dword [ebp - 0x104c]
call fcn.00541c50
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1010]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x598398
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7aa4
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x5983fa
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x1008]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x5983fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ab0
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x598562
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov edi, dword [ebp - 0x1030]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x26
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598462
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b6c40
lea ecx, [ebp - 0x1010]
call fcn.0053e950
mov bl, 0x27
push 0x84
mov byte [ebp - 4], bl
call fcn.005a6607
test eax, eax
je 0x59853c
push 0x84
push eax
lea ecx, [ebp - 0x1010]
call fcn.0053eb30
test eax, eax
je 0x59853c
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx - 0xc], 0
je 0x59853c
push 0x5b6b10
lea ecx, [ebp - 0x101c]
call fcn.0053e950
push 0x5c069c
push eax
lea edx, [ebp - 0x100c]
push edx
mov byte [ebp - 4], 0x28
call fcn.0055b3f0
add esp, 0xc
mov byte [ebp - 4], 0x29
mov eax, dword [eax]
push 0x5b6c40
push eax
lea ecx, [ebp - 0x1010]
call fcn.00541640
lea ecx, [ebp - 0x100c]
call fcn.00543120
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], bl
call fcn.00543120
lea ecx, [ebp - 0x1010]
call fcn.005419a0
push eax
lea ecx, [ebp - 0x1010]
call fcn.00541c50
mov eax, dword [ebp - 0x1010]
cmp dword [eax - 0xc], 0
jle 0x59853c
lea ecx, [ebp - 0x1010]
push ecx
mov ecx, edi
call fcn.00541c50
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1010]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x598562
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ac0
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x5985c4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov ecx, dword [ebp - 0x1054]
push eax
mov byte [ebp - 4], 0x2a
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x5985c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ba67c
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x598626
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x1038]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598626
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ac8
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x598688
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov ecx, dword [ebp - 0x1058]
push eax
mov byte [ebp - 4], 0x2c
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598688
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ad4
mov ecx, esi
call fcn.005a3040
test eax, eax
je 0x5986ea
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x1064]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x5986ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x1068]
push 0x5c7ae8
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x598752
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0055b170
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x105c]
push eax
call fcn.00541c50
mov byte [ebp - 4], 6
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 0x598752
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7af0
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x5987c8
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1024]
call fcn.0055b170
push 0x5b7778
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 0x2f
call fcn.0055b210
mov edi, dword [ebp - 0x1040]
test eax, eax
jne 0x5987a0
mov byte [edi + 0x38], 1
mov byte [ebp - 4], 6
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 0x5987ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x5987ce
mov edi, dword [ebp - 0x1040]
push 0x5c7b00
mov ecx, ebx
mov byte [edi + 0x80478], 0
call fcn.005a3040
test eax, eax
je 0x598870
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x598870
mov edx, 0x5c7b18
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x598826
test al, al
je 0x598822
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x598826
add ecx, 2
add edx, 2
test al, al
jne 0x598806
xor eax, eax
jmp 0x59882b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598835
mov byte [edi + 0x80478], al
mov ecx, 0x5c7b20
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598860
test dl, dl
je 0x59885c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598860
add eax, 2
add ecx, 2
test dl, dl
jne 0x598840
xor eax, eax
jmp 0x598865
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598870
mov byte [edi + 0x80478], 1
push 0x5c7b28
mov ecx, ebx
mov byte [edi + 0x80479], 0
call fcn.005a3040
test eax, eax
je 0x598910
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x598910
mov edx, 0x5c7b18
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5988c8
test al, al
je 0x5988c4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5988c8
add ecx, 2
add edx, 2
test al, al
jne 0x5988a8
xor eax, eax
jmp 0x5988cd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5988d7
mov byte [edi + 0x80479], al
mov ecx, 0x5c7b20
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598900
test dl, dl
je 0x5988fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598900
add eax, 2
add ecx, 2
test dl, dl
jne 0x5988e0
xor eax, eax
jmp 0x598905
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598910
mov byte [edi + 0x80479], 1
push 0x5c7b3c
mov ecx, ebx
mov byte [edi + 0x8047a], 1
call fcn.005a3040
test eax, eax
je 0x5989b0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x5989b0
mov edx, 0x5c7b18
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x598968
test al, al
je 0x598964
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x598968
add ecx, 2
add edx, 2
test al, al
jne 0x598948
xor eax, eax
jmp 0x59896d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598977
mov byte [edi + 0x8047a], al
mov ecx, 0x5c7b20
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5989a0
test dl, dl
je 0x59899c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5989a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x598980
xor eax, eax
jmp 0x5989a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5989b0
mov byte [edi + 0x8047a], 1
push 0x5c7b4c
mov ecx, ebx
mov byte [edi + 0x8047b], 1
call fcn.005a3040
test eax, eax
je 0x598a50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x598a50
mov edx, 0x5c7b18
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x598a08
test al, al
je 0x598a04
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x598a08
add ecx, 2
add edx, 2
test al, al
jne 0x5989e8
xor eax, eax
jmp 0x598a0d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598a17
mov byte [edi + 0x8047b], al
mov ecx, 0x5c7b20
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598a40
test dl, dl
je 0x598a3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598a40
add eax, 2
add ecx, 2
test dl, dl
jne 0x598a20
xor eax, eax
jmp 0x598a45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598a50
mov byte [edi + 0x8047b], 1
push 0x5c7b5c
mov ecx, ebx
mov byte [edi + 0x8047c], 1
call fcn.005a3040
test eax, eax
je 0x598af6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x598af6
mov edx, 0x5c7b18
mov ecx, esi
lea esp, [esp]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x598ab0
test al, al
je 0x598aac
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x598ab0
add ecx, 2
add edx, 2
test al, al
jne 0x598a90
xor eax, eax
jmp 0x598ab5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598abf
mov byte [edi + 0x8047c], al
mov ecx, 0x5c7b20
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598ae6
test dl, dl
je 0x598ae2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598ae6
add eax, 2
add ecx, 2
test dl, dl
jne 0x598ac6
xor eax, eax
jmp 0x598aeb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598af6
mov byte [edi + 0x8047c], 1
push 0x5c7b68
mov ecx, ebx
mov byte [edi + 0x8047d], 1
call fcn.005a3040
test eax, eax
je 0x598b98
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
mov esi, eax
test esi, esi
je 0x598b98
mov edx, 0x5c7b18
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x598b52
test al, al
je 0x598b4e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x598b52
add ecx, 2
add edx, 2
test al, al
jne 0x598b32
xor eax, eax
jmp 0x598b57
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598b61
mov byte [edi + 0x8047d], al
mov ecx, 0x5c7b20
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598b88
test dl, dl
je 0x598b84
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598b88
add eax, 2
add ecx, 2
test dl, dl
jne 0x598b68
xor eax, eax
jmp 0x598b8d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x598b98
mov byte [edi + 0x8047d], 1
push 0x5c7b74
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x598d3b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
push 0x5c7b74
mov ecx, ebx
call fcn.005a3100
push 0
mov ecx, eax
call fcn.005a3090
mov edi, eax
test edi, edi
je 0x598d3b
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
mov ecx, edi
call eax
mov ebx, eax
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1034], eax
mov byte [ebp - 4], 0x30
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x100c], esi
lea ecx, [ebp - 0x100c]
push ecx
lea ecx, [ebp - 0x1034]
mov byte [ebp - 4], 0x31
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x30
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x598c65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7b7c
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x598cc7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x101c]
call fcn.0055b170
push eax
lea ecx, [ebp - 0x1034]
mov byte [ebp - 4], 0x32
call fcn.00541c50
mov byte [ebp - 4], 0x30
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 0x598cc7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp - 0x1040]
mov eax, dword [edx + 0x80474]
lea ecx, [edx + eax*4 + 0x80424]
inc eax
mov dword [edx + 0x80474], eax
lea edx, [ebp - 0x1034]
push edx
call fcn.00541c50
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1034]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x598d13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1068]
push 0x5c7b74
call fcn.005a3100
push edi
mov ecx, eax
call fcn.005a3090
mov edi, eax
test edi, edi
jne 0x598bd4
mov ebx, dword [ebp - 0x1068]
push 0x5c7b80
mov ecx, ebx
call fcn.005a3040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
xor esi, esi
push 0x5c7b80
mov ecx, ebx
mov dword [ebp - 0x101c], esi
mov dword [ebp - 0x100c], esi
call fcn.005a3100
push esi
mov ecx, eax
call fcn.005a3090
mov dword [ebp - 0x1024], eax
cmp eax, esi
je 0x59c3e4
mov ecx, dword [ebp - 0x1024]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ebx, eax
lea ecx, [ebp - 0x1004]
mov dword [ebp - 0x1010], ebx
call fcn.00548430
mov byte [ebp - 4], 0x33
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x34
mov edi, dword [ebp - 0x1004]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x598e39
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x598e23
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x598e23
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x598e12
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0x1004], eax
jmp 0x598e33
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x1004]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x598e56
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x35
mov edi, dword [ebp - 0x1000]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x598eeb
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x598ed5
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x598ed5
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x598ec4
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0x1000], eax
jmp 0x598ee5
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x1000]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x598f08
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x36
mov edi, dword [ebp - 0xffc]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x598f9d
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x598f87
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x598f87
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x598f76
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0xffc], eax
jmp 0x598f97
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xffc]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x598fba
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x37
mov edi, dword [ebp - 0xff8]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x59904f
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x599039
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x599039
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x599028
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0xff8], eax
jmp 0x599049
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xff8]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59906c
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x38
mov edi, dword [ebp - 0xff4]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x599101
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5990eb
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5990eb
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5990da
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0xff4], eax
jmp 0x5990fb
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xff4]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59911e
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x39
mov edi, dword [ebp - 0xff0]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5991b3
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x59919d
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x59919d
push esi
call fcn.00541ea0
add esp, 4
mov dword [ebp - 0x1008], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x59918c
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0x1008]
add eax, 0x10
mov dword [ebp - 0xff0], eax
jmp 0x5991ad
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xff0]
call fcn.0053ed50
mov ebx, dword [ebp - 0x1010]
xor edi, edi
mov byte [ebp - 4], 0x33
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5991d2
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfec]
mov byte [ebp - 4], 0x3a
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59922e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfe8]
mov byte [ebp - 4], 0x3b
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59928a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfe4]
mov byte [ebp - 4], 0x3c
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5992e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfe0]
mov byte [ebp - 4], 0x3d
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x599342
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfdc]
mov byte [ebp - 4], 0x3e
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59939e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfd8]
mov byte [ebp - 4], 0x3f
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5993fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfd4]
mov byte [ebp - 4], 0x40
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x599456
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfd0]
mov byte [ebp - 4], 0x41
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5994b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfcc]
mov byte [ebp - 4], 0x42
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59950e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x43
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59956a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfc4]
mov byte [ebp - 4], 0x44
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5995c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfc0]
mov byte [ebp - 4], 0x45
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x599622
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfbc]
mov byte [ebp - 4], 0x46
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59967e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005ac8b9
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x597b00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1008], esi
lea ecx, [ebp - 0x1008]
push ecx
lea ecx, [ebp - 0xfb8]
mov byte [ebp - 4], 0x47
call fcn.00541c50
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5996da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7b88
lea ecx, [ebp - 0x1178]
mov dword [ebp - 0xfb4], edi
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x494], edi
mov dword [ebp - 0x588], edi
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x164], 0x100
mov word [ebp - 0x160], 0
call fcn.0053e950
mov esi, eax
mov byte [ebp - 4], 0x48
call fcn.005759c0
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1178]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599752
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7bac
mov ecx, ebx
call fcn.005a3040
cmp eax, edi
je 0x5997b4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1118]
call fcn.0055b170
push eax
lea ecx, [ebp - 0x1004]
mov byte [ebp - 4], 0x49
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1118]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5997b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ba640
mov ecx, ebx
call fcn.005a3040
cmp eax, edi
je 0x599925
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1164]
call fcn.0055b170
push eax
lea ecx, [ebp - 0x1000]
mov byte [ebp - 4], 0x4a
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1164]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59981a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1000]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7bb4
lea ecx, [ebp - 0x1174]
mov byte [ebp - 4], 0x4b
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x116c]
push edx
mov byte [ebp - 4], 0x4c
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x4d
call fcn.005759c0
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0x116c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599895
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x1174]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5998bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5998db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x101d], 0
je 0x599925
lea ecx, [ebp - 0x1000]
push ecx
call fcn.0057b800
lea edx, [ebp - 0x1000]
push edx
mov byte [ebp - 0x161], al
call fcn.0057b8b0
cmp byte [ebp - 0x161], 0
mov byte [ebp - 0x160], al
je 0x59991a
mov byte [ebp - 0x164], 1
jmp 0x599925
test al, al
je 0x599925
mov byte [ebp - 0x164], 0
push 0x5c7bdc
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599987
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x117c]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xffc]
mov byte [ebp - 4], 0x4e
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x117c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599987
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ba644
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599aae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1184]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xff8]
mov byte [ebp - 4], 0x4f
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1184]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5999ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xff8]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7bec
lea ecx, [ebp - 0x1194]
mov byte [ebp - 4], 0x50
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x118c]
push edx
mov byte [ebp - 4], 0x51
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x52
call fcn.005759c0
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x118c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599a68
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x1194]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599a8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599aae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7c18
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599b10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x11a8]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xff4]
mov byte [ebp - 4], 0x53
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x11a8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599b10
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7aa4
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599c37
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x11a4]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xff0]
mov byte [ebp - 4], 0x54
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x11a4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599b76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xff0]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7c20
lea ecx, [ebp - 0x1168]
mov byte [ebp - 4], 0x55
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x1098]
push edx
mov byte [ebp - 4], 0x56
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x57
call fcn.005759c0
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x1098]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599bf1
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 - 0x1168]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599c17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599c37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ac0
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599d73
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x10a0]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfec]
mov byte [ebp - 4], 0x58
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x10a0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599c9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b69f4
push 0x5ba4d8
lea ecx, [ebp - 0xfec]
call fcn.00541640
mov eax, dword [ebp - 0xfec]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7c58
lea ecx, [ebp - 0x10a8]
mov byte [ebp - 4], 0x59
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x1128]
push edx
mov byte [ebp - 4], 0x5a
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x5b
call fcn.005759c0
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x1128]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599d2d
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 - 0x10a8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599d53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599d73
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7c88
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599eaf
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x119c]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfe8]
mov byte [ebp - 4], 0x5c
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x119c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599dd9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b69f4
push 0x5ba4d8
lea ecx, [ebp - 0xfe8]
call fcn.00541640
mov eax, dword [ebp - 0xfe8]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7c94
lea ecx, [ebp - 0x1130]
mov byte [ebp - 4], 0x5d
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x10b0]
push edx
mov byte [ebp - 4], 0x5e
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x5f
call fcn.005759c0
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0x10b0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599e69
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 - 0x1130]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599e8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599eaf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7cc8
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x599fd6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x10b8]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfe4]
mov byte [ebp - 4], 0x60
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x10b8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599f15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfe4]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7ce0
lea ecx, [ebp - 0x10c0]
mov byte [ebp - 4], 0x61
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x1170]
push edx
mov byte [ebp - 4], 0x62
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x63
call fcn.005759c0
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0x1170]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599f90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0x10c0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599fb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x599fd6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ab0
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a0fd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1138]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfe0]
mov byte [ebp - 4], 0x64
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1138]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a03c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfe0]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7d24
lea ecx, [ebp - 0x1190]
mov byte [ebp - 4], 0x65
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x10c8]
push edx
mov byte [ebp - 4], 0x66
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x67
call fcn.005759c0
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x10c8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a0b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0x1190]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a0dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a0fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7d60
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a224
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x10d0]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfdc]
mov byte [ebp - 4], 0x68
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x10d0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a163
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfdc]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7d64
lea ecx, [ebp - 0x10d8]
mov byte [ebp - 4], 0x69
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x1140]
push edx
mov byte [ebp - 4], 0x6a
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x6b
call fcn.005759c0
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0x1140]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a1de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x10d8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a204
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a224
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7d8c
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a34b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1090]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfd8]
mov byte [ebp - 4], 0x6c
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1090]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a28a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfd8]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7d9c
lea ecx, [ebp - 0x1148]
mov byte [ebp - 4], 0x6d
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x10e0]
push edx
mov byte [ebp - 4], 0x6e
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x6f
call fcn.005759c0
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0x10e0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a305
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0x1148]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a32b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a34b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ddc
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a472
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x10e8]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfd4]
mov byte [ebp - 4], 0x70
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x10e8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a3b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfd4]
add eax, 0xfffffff0
push eax
call fcn.00541ea0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1008], edi
push 0x5c7dec
lea ecx, [ebp - 0x10f0]
mov byte [ebp - 4], 0x71
call fcn.0053e950
lea ecx, [ebp - 0x1008]
push ecx
push eax
lea edx, [ebp - 0x11a0]
push edx
mov byte [ebp - 4], 0x72
call fcn.0055b330
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x73
call fcn.005759c0
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x11a0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a42c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x71
mov eax, dword [ebp - 0x10f0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a452
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x33
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a472
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ac8
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a4d4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1150]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfd0]
mov byte [ebp - 4], 0x74
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1150]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a4d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e2c
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a536
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x10f8]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfcc]
mov byte [ebp - 4], 0x75
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x10f8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a536
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e38
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a598
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1180]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x76
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1180]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a598
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e44
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a5fa
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1100]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfc4]
mov byte [ebp - 4], 0x77
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a5fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e50
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a65c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1158]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfc0]
mov byte [ebp - 4], 0x78
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1158]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a65c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7ad4
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a6be
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1108]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfbc]
mov byte [ebp - 4], 0x79
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a6be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e64
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a720
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1198]
call fcn.0055b170
push eax
lea ecx, [ebp - 0xfb8]
mov byte [ebp - 4], 0x7a
call fcn.00541c50
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1198]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59a720
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c7e74
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a7b7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x105c]
call fcn.0055b170
mov byte [ebp - 4], 0x7b
mov eax, dword [ebp - 0x105c]
cmp dword [eax - 0xc], 0
jle 0x59a797
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0058e504]
test eax, eax
je 0x597853
add eax, 0xfffffff0
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x59a7b7
push 0x5c7e84
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59a84e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005a31e0
push eax
lea ecx, [ebp - 0x1064]
call fcn.0055b170
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x1064]
cmp dword [eax - 0xc], 0
jle 0x59a82e
push 0x5c7e94
mov ecx, ebx
call fcn.005a3040
test eax, eax
je 0x59ac66
push 0x5b6c40
lea ecx, [ebp - 0x1078]
call fcn.0053e950
mov esi, eax
push 0x5b6e00
lea ecx, [ebp - 0x1070]
mov byte [ebp - 4], 0xc0
call fcn.0053e950
mov edi, eax
push 0x5b6e00
lea ecx, [ebp - 0x106c]
mov byte [ebp - 4], 0xc1
call fcn.0053e950
mov ebx, eax
push 0x5c82c0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0xc2
call fcn.0053e950
push esi
push edi
push ebx
push eax
mov byte [ebp - 4], 0xc3
mov edx, dword [ebp - 0x1060]
push edx
lea eax, [ebp - 0x1050]
push eax
mov ecx, 7
call fcn.00579d30
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0x1074]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59c47c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0x106c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59c4a2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc0
mov eax, dword [ebp - 0x1070]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59c4c8
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 - 0x1078]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59c4ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x11f4], 0x58ef94
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0x11c0]
cmp eax, 0x5f4b80
je 0x59c512
push eax
call fcn.005a63a7
add esp, 4
lea ecx, [ebp - 0x11f4]
mov byte [ebp - 4], 0
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1050]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x59c54a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, byte [ebp - 0x1025]
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 0x692a51
mov esp, ebp
pop ebp
ret 4