Function at 0x5a1100
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58d97c
mov eax, dword fs:[0]
push eax
sub esp, 0xff0
mov eax, dword [0x5fadc0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
lea ecx, [ebp - 0xfb0]
mov bl, 1
push ecx
mov dword [ebp - 0xe40], esi
mov dword [ebp - 0xe1c], eax
mov byte [ebp - 0xe1d], bl
call fcn.0057ca10
push 0x5cebb4
lea ecx, [ebp - 0xe54]
mov dword [ebp - 4], 0
mov byte [ebp - 0xe15], 0
call fcn.00543980
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push edx
lea ecx, [esi + 0x2f638]
push eax
call fcn.00546e90
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xe54]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a11ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xe34]
call fcn.00543980
mov esi, eax
push 0x5bcde8
lea ecx, [ebp - 0xe3c]
mov byte [ebp - 4], 2
call fcn.00543980
mov ebx, eax
push 0x5bcde8
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 3
call fcn.00543980
mov edi, eax
push 0x5cebe0
lea ecx, [ebp - 0xe04]
mov byte [ebp - 4], 4
call fcn.00543980
mov ecx, dword [ebp - 0xe40]
push esi
push ebx
push edi
add ecx, 4
push eax
push ecx
mov byte [ebp - 4], 5
mov dword [ebp - 0xe54], ecx
lea ecx, [ebp - 0xfb0]
push ecx
mov ecx, 7
call fcn.00582490
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a124d
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 - 0xe14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1273
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 - 0xe3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1299
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 - 0xe34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a12bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0xe1c]
mov ebx, edi
call fcn.005a0ed0
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov ebx, dword [fcn.0059450c]
push ecx
push eax
call ebx
test eax, eax
jne 0x5a12e4
call fcn.00543e90
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5a12e7
sub eax, edx
sar eax, 1
inc eax
push eax
call 0x69d5cc
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 0x5a1314
call fcn.00543e90
mov edi, 0xf423f
xor ecx, ecx
jmp 0x5a1320
cmp word [eax + ecx*2], 0
je 0x5a132f
mov dl, byte [eax + ecx*2]
mov byte [ecx + esi], dl
jmp 0x5a1335
xor edi, edi
mov byte [ecx + esi], 0
inc ecx
cmp ecx, edi
jb 0x5a1320
lea ecx, [ebp - 0xffc]
call fcn.005ad400
push 0
push 0
push esi
lea ecx, [ebp - 0xffc]
mov byte [ebp - 4], 6
call fcn.005af210
cmp byte [ebp - 0xfd0], 0
je 0x5a1521
push 0x5bcc28
lea ecx, [ebp - 0xe34]
call fcn.00543980
mov esi, eax
push 0x5bcde8
lea ecx, [ebp - 0xe3c]
mov byte [ebp - 4], 7
call fcn.00543980
mov ebx, eax
push 0x5bcde8
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 8
call fcn.00543980
mov edi, eax
push 0x5cebe8
lea ecx, [ebp - 0xe04]
mov byte [ebp - 4], 9
call fcn.00543980
push esi
push ebx
push edi
push eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xe54]
push eax
lea ecx, [ebp - 0xfb0]
push ecx
mov ecx, 1
call fcn.00582490
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a13fe
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 - 0xe14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1424
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 - 0xe3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a144a
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 - 0xe34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1470
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xe1c]
mov edx, dword [ecx]
mov eax, dword [edx - 0xc]
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push eax
call 0x69d27a
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0xe14]
call fcn.00561590
push eax
lea eax, [ebp - 0xe04]
push 0x5cebf0
mov bl, 0xb
push eax
mov byte [ebp - 4], bl
call fcn.005619e0
add esp, 0xc
mov ecx, dword [ebp - 0xe40]
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push edx
add ecx, 0x2f634
push eax
call fcn.00546e90
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a14f4
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 - 0xe14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a151a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 0xe1d], 0
push 0x5cec50
lea ecx, [ebp - 0xe04]
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.0057d100
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1562
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0xe40]
xor edi, edi
mov dword [ebx + 0x1f93c], edi
mov dword [ebx + 0x2f5c0], edi
mov dword [ebx + 0x2f614], edi
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x5a1596
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0xe
push edx
mov dword [ebp - 0xe14], ecx
call fcn.00546ce0
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 0x5a15e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x5a15fb
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0xf
push edx
mov dword [ebp - 0xe3c], ecx
call fcn.00546ce0
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 0x5a1646
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x5a1660
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 - 0xe04], esi
lea ecx, [ebp - 0xe04]
push ecx
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 0x10
call fcn.00546ce0
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 0x5a16a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a16bf
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 0x11
push edx
mov dword [ebp - 0xe34], ecx
call fcn.00546ce0
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 0x5a170a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a1724
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x18]
mov byte [ebp - 4], 0x12
push edx
mov dword [ebp - 0xe44], ecx
call fcn.00546ce0
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 0x5a176f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a1789
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x1c]
mov byte [ebp - 4], 0x13
push edx
mov dword [ebp - 0xe00], ecx
call fcn.00546ce0
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 0x5a17d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a17ee
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x20]
push edx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xe28], ecx
call fcn.00546ce0
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 0x5a1839
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a1853
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x24]
push edx
mov byte [ebp - 4], 0x15
mov dword [ebp - 0xe48], ecx
call fcn.00546ce0
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 0x5a189e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a18b8
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 0x16
push edx
mov dword [ebp - 0xe30], ecx
call fcn.00546ce0
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 0x5a1903
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x5a191d
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 - 0xe04], esi
lea edx, [ebp - 0xe04]
lea ecx, [ebx + 0x2c]
push edx
mov byte [ebp - 4], 0x17
mov dword [ebp - 0xe4c], ecx
call fcn.00546ce0
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 0x5a1968
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xe04]
call fcn.00543980
lea ecx, [ebx + 0x30]
mov byte [ebp - 4], 0x18
push eax
mov dword [ebp - 0xe50], ecx
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a19b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xe04]
call fcn.00543980
lea ecx, [ebx + 0x34]
mov byte [ebp - 4], 0x19
push eax
mov dword [ebp - 0xe58], ecx
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a19fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cec98
lea ecx, [ebp - 0xffc]
mov byte [ebx + 0x38], 0
mov dword [ebx + 0x2f618], 0x1010001
mov word [ebx + 0x2f61c], 0x101
call fcn.005acb40
test eax, eax
jne 0x5a1a9a
mov dword [ebp - 0xffc], 0x594fb4
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xfc8]
cmp eax, 0x5fcb80
je 0x5a1a49
push eax
call fcn.005afe97
add esp, 4
lea ecx, [ebp - 0xffc]
mov byte [ebp - 4], 0
call fcn.005ad170
mov dword [ebp - 4], 0x1b
lea ebx, [ebp - 0xfac]
call fcn.00561be0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xfb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1a93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x5a5fc2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov esi, eax
mov dword [ebp - 0xe5c], esi
test esi, esi
jne 0x5a1aee
mov dword [ebp - 0xffc], 0x594fb4
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0xfc8]
cmp eax, 0x5fcb80
je 0x5a1ad3
push eax
call fcn.005afe97
add esp, 4
lea ecx, [ebp - 0xffc]
mov byte [ebp - 4], 0
call fcn.005ad170
mov dword [ebp - 4], 0x1d
jmp 0x5a1a5f
push 0x5ceca0
mov ecx, esi
call fcn.005acc00
test eax, eax
je 0x5a1b5f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe1c]
call fcn.00561590
push 0x5bd350
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x1e
call fcn.00561720
test eax, eax
jne 0x5a1b39
mov byte [ebp - 0xe15], 1
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1b5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cecb0
mov ecx, esi
call fcn.005acc00
test eax, eax
je 0x5a1bc1
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xe14]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1bc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cecbc
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a1c23
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xe3c]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1c23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ceccc
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a1c82
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
push eax
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 0x21
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1c82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cecd8
mov ecx, esi
call fcn.005acb40
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov esi, eax
push 0x5c09c0
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a1cfb
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0xe34]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1cfb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c09c4
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a1e65
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xe44]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1d61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xe08]
call fcn.00543980
mov bl, 0x24
push 0x85
mov byte [ebp - 4], bl
call fcn.005b00d5
test eax, eax
je 0x5a1e3f
push 0x85
push eax
lea ecx, [ebp - 0xe08]
call fcn.00543b60
test eax, eax
je 0x5a1e3f
mov ecx, dword [ebp - 0xe08]
cmp dword [ecx - 0xc], 0
je 0x5a1e3f
push 0x5bcaf8
lea ecx, [ebp - 0xe14]
call fcn.00543980
push 0x5cece4
push eax
lea edx, [ebp - 0xe04]
push edx
mov byte [ebp - 4], 0x25
call fcn.00561900
add esp, 0xc
mov byte [ebp - 4], 0x26
mov eax, dword [eax]
push 0x5bcc28
push eax
lea ecx, [ebp - 0xe08]
call fcn.005466d0
lea ecx, [ebp - 0xe04]
call fcn.00548420
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], bl
call fcn.00548420
lea ecx, [ebp - 0xe08]
call fcn.00546a30
push eax
lea ecx, [ebp - 0xe08]
call fcn.00546ce0
mov eax, dword [ebp - 0xe08]
cmp dword [eax - 0xc], 0
jle 0x5a1e3f
lea ecx, [ebp - 0xe08]
push ecx
mov ecx, dword [ebp - 0xe44]
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe08]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a1e65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced04
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a1ec7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xe00]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1ec7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced10
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a202f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov edi, dword [ebp - 0xe28]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x28
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a1f2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bcc28
lea ecx, [ebp - 0xe08]
call fcn.00543980
mov bl, 0x29
push 0x84
mov byte [ebp - 4], bl
call fcn.005b00d5
test eax, eax
je 0x5a2009
push 0x84
push eax
lea ecx, [ebp - 0xe08]
call fcn.00543b60
test eax, eax
je 0x5a2009
mov ecx, dword [ebp - 0xe08]
cmp dword [ecx - 0xc], 0
je 0x5a2009
push 0x5bcaf8
lea ecx, [ebp - 0xe14]
call fcn.00543980
push 0x5c7900
push eax
lea edx, [ebp - 0xe04]
push edx
mov byte [ebp - 4], 0x2a
call fcn.00561900
add esp, 0xc
mov byte [ebp - 4], 0x2b
mov eax, dword [eax]
push 0x5bcc28
push eax
lea ecx, [ebp - 0xe08]
call fcn.005466d0
lea ecx, [ebp - 0xe04]
call fcn.00548420
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], bl
call fcn.00548420
lea ecx, [ebp - 0xe08]
call fcn.00546a30
push eax
lea ecx, [ebp - 0xe08]
call fcn.00546ce0
mov eax, dword [ebp - 0xe08]
cmp dword [eax - 0xc], 0
jle 0x5a2009
lea ecx, [ebp - 0xe08]
push ecx
mov ecx, edi
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe08]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a202f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced20
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a2091
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov ecx, dword [ebp - 0xe48]
push eax
mov byte [ebp - 4], 0x2c
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2091
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c09fc
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a20f3
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xe30]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a20f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced28
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a2155
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov ecx, dword [ebp - 0xe4c]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2155
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push fcn.005ced34
mov ecx, esi
call fcn.005acb40
test eax, eax
je 0x5a21b7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xe58]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a21b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0xe5c]
push 0x5ced48
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a221f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe04]
call fcn.00561590
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xe50]
push eax
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe04]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a221f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced50
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a2295
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe1c]
call fcn.00561590
push 0x5bd770
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x31
call fcn.00561720
mov edi, dword [ebp - 0xe40]
test eax, eax
jne 0x5a226d
mov byte [edi + 0x38], 1
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a229b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x5a229b
mov edi, dword [ebp - 0xe40]
push 0x5ced60
mov ecx, ebx
mov byte [edi + 0x2f618], 0
call fcn.005acb40
test eax, eax
je 0x5a2340
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a2340
mov edx, 0x5ced78
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a22f3
test al, al
je 0x5a22ef
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a22f3
add ecx, 2
add edx, 2
test al, al
jne 0x5a22d3
xor eax, eax
jmp 0x5a22f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2302
mov byte [edi + 0x2f618], al
mov ecx, 0x5ced80
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a2330
test dl, dl
je 0x5a232c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a2330
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a2310
xor eax, eax
jmp 0x5a2335
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2340
mov byte [edi + 0x2f618], 1
push 0x5ced88
mov ecx, ebx
mov byte [edi + 0x2f619], 0
call fcn.005acb40
test eax, eax
je 0x5a23e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a23e0
mov edx, 0x5ced78
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a2398
test al, al
je 0x5a2394
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a2398
add ecx, 2
add edx, 2
test al, al
jne 0x5a2378
xor eax, eax
jmp 0x5a239d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a23a7
mov byte [edi + 0x2f619], al
mov ecx, 0x5ced80
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a23d0
test dl, dl
je 0x5a23cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a23d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a23b0
xor eax, eax
jmp 0x5a23d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a23e0
mov byte [edi + 0x2f619], 1
push 0x5ced9c
mov ecx, ebx
mov byte [edi + 0x2f61a], 1
call fcn.005acb40
test eax, eax
je 0x5a2480
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a2480
mov edx, 0x5ced78
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a2438
test al, al
je 0x5a2434
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a2438
add ecx, 2
add edx, 2
test al, al
jne 0x5a2418
xor eax, eax
jmp 0x5a243d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2447
mov byte [edi + 0x2f61a], al
mov ecx, 0x5ced80
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a2470
test dl, dl
je 0x5a246c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a2470
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a2450
xor eax, eax
jmp 0x5a2475
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2480
mov byte [edi + 0x2f61a], 1
push 0x5cedac
mov ecx, ebx
mov byte [edi + 0x2f61b], 1
call fcn.005acb40
test eax, eax
je 0x5a2520
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a2520
mov edx, 0x5ced78
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a24d8
test al, al
je 0x5a24d4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a24d8
add ecx, 2
add edx, 2
test al, al
jne 0x5a24b8
xor eax, eax
jmp 0x5a24dd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a24e7
mov byte [edi + 0x2f61b], al
mov ecx, 0x5ced80
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a2510
test dl, dl
je 0x5a250c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a2510
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a24f0
xor eax, eax
jmp 0x5a2515
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2520
mov byte [edi + 0x2f61b], 1
push 0x5cedbc
mov ecx, ebx
mov byte [edi + 0x2f61c], 1
call fcn.005acb40
test eax, eax
je 0x5a25c0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a25c0
mov edx, 0x5ced78
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a2578
test al, al
je 0x5a2574
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a2578
add ecx, 2
add edx, 2
test al, al
jne 0x5a2558
xor eax, eax
jmp 0x5a257d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2587
mov byte [edi + 0x2f61c], al
mov ecx, 0x5ced80
mov eax, esi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a25b0
test dl, dl
je 0x5a25ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a25b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a2590
xor eax, eax
jmp 0x5a25b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a25c0
mov byte [edi + 0x2f61c], 1
push 0x5cedc8
mov ecx, ebx
mov byte [edi + 0x2f61d], 1
call fcn.005acb40
test eax, eax
je 0x5a2666
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
mov esi, eax
test esi, esi
je 0x5a2666
mov edx, 0x5ced78
mov ecx, esi
lea esp, [esp]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5a2620
test al, al
je 0x5a261c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5a2620
add ecx, 2
add edx, 2
test al, al
jne 0x5a2600
xor eax, eax
jmp 0x5a2625
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a262f
mov byte [edi + 0x2f61d], al
mov ecx, 0x5ced80
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a2656
test dl, dl
je 0x5a2652
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a2656
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a2636
xor eax, eax
jmp 0x5a265b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5a2666
mov byte [edi + 0x2f61d], 1
push 0x5cedd4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a2809
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
push 0x5cedd4
mov ecx, ebx
call fcn.005acc00
push 0
mov ecx, eax
call fcn.005acb90
mov edi, eax
test edi, edi
je 0x5a2809
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
mov ecx, edi
call eax
mov ebx, eax
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe2c], eax
mov byte [ebp - 4], 0x32
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe04], esi
lea ecx, [ebp - 0xe04]
push ecx
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x33
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x32
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2733
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ceddc
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a2795
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe14]
call fcn.00561590
push eax
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x34
call fcn.00546ce0
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xe14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2795
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp - 0xe40]
mov eax, dword [edx + 0x2f614]
lea ecx, [edx + eax*4 + 0x2f5c4]
inc eax
mov dword [edx + 0x2f614], eax
lea edx, [ebp - 0xe2c]
push edx
call fcn.00546ce0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a27e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xe5c]
push 0x5cedd4
call fcn.005acc00
push edi
mov ecx, eax
call fcn.005acb90
mov edi, eax
test edi, edi
jne 0x5a26a2
mov ebx, dword [ebp - 0xe5c]
push 0x5cede0
mov ecx, ebx
call fcn.005acb40
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
xor esi, esi
push 0x5cede0
mov ecx, ebx
mov dword [ebp - 0xe14], esi
mov dword [ebp - 0xe04], esi
call fcn.005acc00
push esi
mov ecx, eax
call fcn.005acb90
mov dword [ebp - 0xe1c], eax
cmp eax, esi
je 0x5a5e6c
mov edi, edi
mov ecx, dword [ebp - 0xe1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ebx, eax
lea ecx, [ebp - 0xdfc]
mov dword [ebp - 0xe08], ebx
call fcn.0054d6b0
mov byte [ebp - 4], 0x35
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x36
mov edi, dword [ebp - 0xdfc]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a2909
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a28f3
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a28f3
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a28e2
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xdfc], eax
jmp 0x5a2903
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xdfc]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2926
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x37
mov edi, dword [ebp - 0xdf8]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a29bb
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a29a5
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a29a5
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a2994
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xdf8], eax
jmp 0x5a29b5
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xdf8]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a29d8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x38
mov edi, dword [ebp - 0xdf4]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a2a6d
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a2a57
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a2a57
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a2a46
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xdf4], eax
jmp 0x5a2a67
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xdf4]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2a8a
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x39
mov edi, dword [ebp - 0xdf0]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a2b1f
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a2b09
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a2b09
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a2af8
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xdf0], eax
jmp 0x5a2b19
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xdf0]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2b3c
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x3a
mov edi, dword [ebp - 0xdec]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a2bd1
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a2bbb
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a2bbb
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a2baa
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xdec], eax
jmp 0x5a2bcb
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xdec]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2bee
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0c], eax
mov byte [ebp - 4], 0x3b
mov edi, dword [ebp - 0xde8]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x5a2c83
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x5a2c6d
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x5a2c6d
push esi
call fcn.00546f50
add esp, 4
mov dword [ebp - 0xe00], eax
or edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
test edx, edx
jg 0x5a2c5c
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [ebp - 0xe00]
add eax, 0x10
mov dword [ebp - 0xde8], eax
jmp 0x5a2c7d
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xde8]
call fcn.00543d80
mov ebx, dword [ebp - 0xe08]
xor edi, edi
mov byte [ebp - 4], 0x35
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a2ca2
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xde4]
mov byte [ebp - 4], 0x3c
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2cfe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xde0]
mov byte [ebp - 4], 0x3d
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2d5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xddc]
mov byte [ebp - 4], 0x3e
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2db6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdd8]
mov byte [ebp - 4], 0x3f
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2e12
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdd4]
mov byte [ebp - 4], 0x40
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2e6e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdd0]
mov byte [ebp - 4], 0x41
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2eca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdcc]
mov byte [ebp - 4], 0x42
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2f26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdc8]
mov byte [ebp - 4], 0x43
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2f82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdc4]
mov byte [ebp - 4], 0x44
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a2fde
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdc0]
mov byte [ebp - 4], 0x45
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a303a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdbc]
mov byte [ebp - 4], 0x46
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a3096
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdb8]
mov byte [ebp - 4], 0x47
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a30f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdb4]
mov byte [ebp - 4], 0x48
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a314e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.005b637b
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x5a158c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xe00], esi
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xdb0]
mov byte [ebp - 4], 0x49
call fcn.00546ce0
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a31aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cede8
lea ecx, [ebp - 0xf70]
mov dword [ebp - 0xdac], 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], pe_nt_image_headers32
mov word [ebp - 0x160], 0
call fcn.00543980
mov esi, eax
mov byte [ebp - 4], 0x4a
call fcn.0057d100
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3222
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cee0c
mov ecx, ebx
call fcn.005acb40
cmp eax, edi
je 0x5a3284
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf58]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdfc]
mov byte [ebp - 4], 0x4b
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3284
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c09c0
mov ecx, ebx
call fcn.005acb40
cmp eax, edi
je 0x5a33f5
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf54]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x4c
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a32ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdf8]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cee14
lea ecx, [ebp - 0xf64]
mov byte [ebp - 4], 0x4d
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xf5c]
push edx
mov byte [ebp - 4], 0x4e
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x4f
call fcn.0057d100
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xf5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3365
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xf64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a338b
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a33ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0xe15], 0
je 0x5a33f5
lea ecx, [ebp - 0xdf8]
push ecx
call fcn.00583fb0
lea edx, [ebp - 0xdf8]
push edx
mov byte [ebp - 0x161], al
call fcn.00584060
cmp byte [ebp - 0x161], 0
mov byte [ebp - 0x160], al
je 0x5a33ea
mov byte [ebp - 0x164], 1
jmp 0x5a33f5
test al, al
je 0x5a33f5
mov byte [ebp - 0x164], 0
push 0x5cee3c
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3457
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf6c]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdf4]
mov byte [ebp - 4], 0x50
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3457
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c09c4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a357e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf74]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdf0]
mov byte [ebp - 4], 0x51
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a34bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdf0]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cee4c
lea ecx, [ebp - 0xf94]
mov byte [ebp - 4], 0x52
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xf7c]
push edx
mov byte [ebp - 4], 0x53
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x54
call fcn.0057d100
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0xf7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3538
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xf94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a355e
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a357e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cee78
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a35e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf9c]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdec]
mov byte [ebp - 4], 0x55
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a35e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced04
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3707
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf88]
call fcn.00561590
push eax
lea ecx, [ebp - 0xde8]
mov byte [ebp - 4], 0x56
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3646
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xde8]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cee80
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x57
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xf18]
push edx
mov byte [ebp - 4], 0x58
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x59
call fcn.0057d100
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xf18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a36c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0xe90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a36e7
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3707
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced20
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3843
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf60]
call fcn.00561590
push eax
lea ecx, [ebp - 0xde4]
mov byte [ebp - 4], 0x5a
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a376d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bc9dc
push 0x5c0858
lea ecx, [ebp - 0xde4]
call fcn.005466d0
mov eax, dword [ebp - 0xde4]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5ceeb8
lea ecx, [ebp - 0xf20]
mov byte [ebp - 4], 0x5b
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xe98]
push edx
mov byte [ebp - 4], 0x5c
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x5d
call fcn.0057d100
mov byte [ebp - 4], 0x5c
mov eax, dword [ebp - 0xe98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a37fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xf20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3823
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3843
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ceee8
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a397f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xea0]
call fcn.00561590
push eax
lea ecx, [ebp - 0xde0]
mov byte [ebp - 4], 0x5e
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xea0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a38a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5bc9dc
push 0x5c0858
lea ecx, [ebp - 0xde0]
call fcn.005466d0
mov eax, dword [ebp - 0xde0]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5ceef4
lea ecx, [ebp - 0xea8]
mov byte [ebp - 4], 0x5f
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xf84]
push edx
mov byte [ebp - 4], 0x60
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x61
call fcn.0057d100
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0xf84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3939
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0xea8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a395f
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a397f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cef28
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3aa6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf28]
call fcn.00561590
push eax
lea ecx, [ebp - 0xddc]
mov byte [ebp - 4], 0x62
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a39e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xddc]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cef40
lea ecx, [ebp - 0xf68]
mov byte [ebp - 4], 0x63
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xeb0]
push edx
mov byte [ebp - 4], 0x64
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x65
call fcn.0057d100
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0xeb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3a60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0xf68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3a86
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3aa6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced10
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3bcd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xeb8]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdd8]
mov byte [ebp - 4], 0x66
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xeb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3b0c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdd8]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cef84
lea ecx, [ebp - 0xec0]
mov byte [ebp - 4], 0x67
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xf30]
push edx
mov byte [ebp - 4], 0x68
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x69
call fcn.0057d100
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0xf30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3b87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xec0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3bad
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3bcd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cefc0
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3cf4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf8c]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdd4]
mov byte [ebp - 4], 0x6a
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3c33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdd4]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cefc4
lea ecx, [ebp - 0xf38]
mov byte [ebp - 4], 0x6b
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xec8]
push edx
mov byte [ebp - 4], 0x6c
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x6d
call fcn.0057d100
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xec8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3cae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xf38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3cd4
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3cf4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cefec
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3e1b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xed0]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdd0]
mov byte [ebp - 4], 0x6e
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xed0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3d5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdd0]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5ceffc
lea ecx, [ebp - 0xed8]
mov byte [ebp - 4], 0x6f
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xe84]
push edx
mov byte [ebp - 4], 0x70
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x71
call fcn.0057d100
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xe84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3dd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xed8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3dfb
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3e1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf03c
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3f42
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf40]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdcc]
mov byte [ebp - 4], 0x72
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3e81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xdcc]
add eax, 0xfffffff0
push eax
call fcn.00546f50
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe00], edi
push 0x5cf04c
lea ecx, [ebp - 0xf98]
mov byte [ebp - 4], 0x73
call fcn.00543980
lea ecx, [ebp - 0xe00]
push ecx
push eax
lea edx, [ebp - 0xee0]
push edx
mov byte [ebp - 4], 0x74
call fcn.00561840
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x75
call fcn.0057d100
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xee0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3efc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0xf98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3f22
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], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3f42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5ced28
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a3fa4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xee8]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdc8]
mov byte [ebp - 4], 0x76
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xee8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a3fa4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf08c
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a4006
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf48]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdc4]
mov byte [ebp - 4], 0x77
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a4006
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf098
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a4068
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xef0]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdc0]
mov byte [ebp - 4], 0x78
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xef0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a4068
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf0a4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a40ca
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf78]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdbc]
mov byte [ebp - 4], 0x79
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a40ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf0b0
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a412c
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xef8]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdb8]
mov byte [ebp - 4], 0x7a
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xef8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a412c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push fcn.005ced34
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a418e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf50]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdb4]
mov byte [ebp - 4], 0x7b
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a418e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf0c4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a41f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xf00]
call fcn.00561590
push eax
lea ecx, [ebp - 0xdb0]
mov byte [ebp - 4], 0x7c
call fcn.00546ce0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xf00]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a41f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5cf0d4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a4287
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe50]
call fcn.00561590
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0xe50]
cmp dword [eax - 0xc], 0
jle 0x5a4267
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [fcn.0059450c]
test eax, eax
je 0x5a12df
add eax, 0xfffffff0
mov byte [ebp - 4], 0x35
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a4287
push 0x5cf0e4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a431e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, eax
call fcn.005acce0
push eax
lea ecx, [ebp - 0xe58]
call fcn.00561590
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0xe58]
cmp dword [eax - 0xc], 0
jle 0x5a42fe
push 0x5cf0f4
mov ecx, ebx
call fcn.005acb40
test eax, eax
je 0x5a4736
push 0x5bcc28
lea ecx, [ebp - 0xe6c]
call fcn.00543980
mov esi, eax
push 0x5bcde8
lea ecx, [ebp - 0xe64]
mov byte [ebp - 4], 0xc2
call fcn.00543980
mov edi, eax
push 0x5bcde8
lea ecx, [ebp - 0xe60]
mov byte [ebp - 4], 0xc3
call fcn.00543980
mov ebx, eax
push 0x5cf520
lea ecx, [ebp - 0xe68]
mov byte [ebp - 4], 0xc4
call fcn.00543980
push esi
push edi
push ebx
push eax
mov byte [ebp - 4], 0xc5
mov edx, dword [ebp - 0xe54]
push edx
lea eax, [ebp - 0xfb0]
push eax
mov ecx, 7
call fcn.00582490
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0xe68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a5f04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp - 0xe60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a5f2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0xe64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a5f50
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 - 0xe6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x5a5f76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0xffc], 0x594fb4
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0xfc8]
cmp eax, 0x5fcb80
je 0x5a5f9a
push eax
call fcn.005afe97
add esp, 4
lea ecx, [ebp - 0xffc]
mov byte [ebp - 4], 0
call fcn.005ad170
lea ecx, [ebp - 0xfb0]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.0054a500
mov al, byte [ebp - 0xe1d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call 0x69c52c
mov esp, ebp
pop ebp
ret 4