Function at 0x404890
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x497040
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c7838]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
push 0
push 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov ebx, eax
or edi, 0xffffffff
test ebx, ebx
je 0x406714
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4048e6
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0
call fcn.00426971
test eax, eax
je 0x40491b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40493e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404958
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 1
call fcn.00426971
test eax, eax
je 0x40498d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4049b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4049ca
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 2
call fcn.00426971
test eax, eax
je 0x4049ff
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404a3c
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 3
call fcn.00426971
test eax, eax
je 0x404a71
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404aae
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 4
call fcn.00426971
test eax, eax
je 0x404ae3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404b20
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 5
call fcn.00426971
test eax, eax
je 0x404b55
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404b92
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 6
call fcn.00426971
test eax, eax
je 0x404bc7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404bea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404c04
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 7
call fcn.00426971
test eax, eax
je 0x404c39
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404c76
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 8
call fcn.00426971
test eax, eax
je 0x404cab
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404cce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404ce8
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 9
call fcn.00426971
test eax, eax
je 0x404d1d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404d40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404d5a
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xa
call fcn.00426971
test eax, eax
je 0x404d8f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404db2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404dcc
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xb
call fcn.00426971
test eax, eax
je 0x404e01
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404e3e
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xc
call fcn.00426971
test eax, eax
je 0x404e73
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404eb0
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xd
call fcn.00426971
test eax, eax
je 0x404ee5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404f22
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xe
call fcn.00426971
test eax, eax
je 0x404f57
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404f94
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0xf
call fcn.00426971
test eax, eax
je 0x404fc9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404fec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405006
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x10
call fcn.00426971
test eax, eax
je 0x40503b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40505e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405078
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x11
call fcn.00426971
test eax, eax
je 0x4050ad
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4050d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4050ea
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x12
call fcn.00426971
test eax, eax
je 0x40511f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405142
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40515c
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x13
call fcn.00426971
test eax, eax
je 0x405191
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4051b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4051ce
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x14
call fcn.00426971
test eax, eax
je 0x405203
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405226
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405240
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x15
call fcn.00426971
test eax, eax
je 0x405275
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405298
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4052b2
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x16
call fcn.00426971
test eax, eax
je 0x4052e7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40530a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405324
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x17
call fcn.00426971
test eax, eax
je 0x405359
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40537c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405396
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x18
call fcn.00426971
test eax, eax
je 0x4053cb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4053ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405408
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x19
call fcn.00426971
test eax, eax
je 0x40543d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405460
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40547a
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1a
call fcn.00426971
test eax, eax
je 0x4054af
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4054ec
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1b
call fcn.00426971
test eax, eax
je 0x405521
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405544
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40555e
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1c
call fcn.00426971
test eax, eax
je 0x405593
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4055b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4055d0
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1d
call fcn.00426971
test eax, eax
je 0x405605
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405628
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405642
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1e
call fcn.00426971
test eax, eax
je 0x405677
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40569a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4056b4
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x1f
call fcn.00426971
test eax, eax
je 0x4056e9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40570c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405726
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x20
call fcn.00426971
test eax, eax
je 0x40575b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40577e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405798
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x21
call fcn.00426971
test eax, eax
je 0x4057cd
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40580a
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x22
call fcn.00426971
test eax, eax
je 0x40583f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405862
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40587c
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x23
call fcn.00426971
test eax, eax
je 0x4058b1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4058d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4058ee
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x24
call fcn.00426971
test eax, eax
je 0x405923
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405946
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405960
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x25
call fcn.00426971
test eax, eax
je 0x405995
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4059d2
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x26
call fcn.00426971
test eax, eax
je 0x405a07
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405a44
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x27
call fcn.00426971
test eax, eax
je 0x405a79
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405ab6
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x28
call fcn.00426971
test eax, eax
je 0x405aeb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405b28
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x29
call fcn.00426971
test eax, eax
je 0x405b5d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b80
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405b9a
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x2a
call fcn.00426971
test eax, eax
je 0x405bcf
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x3c]
add esi, eax
test ebx, ebx
je 0x4082b6
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40673f
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x44
call fcn.00426971
test eax, eax
je 0x406774
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406797
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4067b1
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x45
call fcn.00426971
test eax, eax
je 0x4067e6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406809
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406823
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x46
call fcn.00426971
test eax, eax
je 0x406858
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40687b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406895
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x47
call fcn.00426971
test eax, eax
je 0x4068ca
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406907
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x48
call fcn.00426971
test eax, eax
je 0x40693c
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40695f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406979
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x49
call fcn.00426971
test eax, eax
je 0x4069ae
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4069d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00421bcc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4069eb
push 0x80004005
call fcn.004013f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x23500d
mov dword [esp + 0x24], 0x4a
call fcn.00426971
test eax, eax
je 0x406a20
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x4b
call fcn.00426971
test eax, eax
je 0x406a71
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x4c
call fcn.00426971
test eax, eax
je 0x406ac2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ae5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x4d
call fcn.00426971
test eax, eax
je 0x406b13
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x4e
call fcn.00426971
test eax, eax
je 0x406b64
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x4f
call fcn.00426971
test eax, eax
je 0x406bb5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406bd8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x50
call fcn.00426971
test eax, eax
je 0x406c06
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x51
call fcn.00426971
test eax, eax
je 0x406c57
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x52
call fcn.00426971
test eax, eax
je 0x406ca8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ccb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x53
call fcn.00426971
test eax, eax
je 0x406cf9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x54
call fcn.00426971
test eax, eax
je 0x406d4a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x55
call fcn.00426971
test eax, eax
je 0x406d9b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406dbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x56
call fcn.00426971
test eax, eax
je 0x406dec
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x57
call fcn.00426971
test eax, eax
je 0x406e3d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x58
call fcn.00426971
test eax, eax
je 0x406e8e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406eb1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x59
call fcn.00426971
test eax, eax
je 0x406edf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5a
call fcn.00426971
test eax, eax
je 0x406f30
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5b
call fcn.00426971
test eax, eax
je 0x406f81
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406fa4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5c
call fcn.00426971
test eax, eax
je 0x406fd2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ff5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5d
call fcn.00426971
test eax, eax
je 0x407023
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407046
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5e
call fcn.00426971
test eax, eax
je 0x407074
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407097
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x5f
call fcn.00426971
test eax, eax
je 0x4070c5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4070e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x60
call fcn.00426971
test eax, eax
je 0x407116
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407139
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x61
call fcn.00426971
test eax, eax
je 0x407167
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40718a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x62
call fcn.00426971
test eax, eax
je 0x4071b8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4071db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x63
call fcn.00426971
test eax, eax
je 0x407209
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40722c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x64
call fcn.00426971
test eax, eax
je 0x40725a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40727d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x65
call fcn.00426971
test eax, eax
je 0x4072ab
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4072ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x66
call fcn.00426971
test eax, eax
je 0x4072fc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40731f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x67
call fcn.00426971
test eax, eax
je 0x40734d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407370
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x68
call fcn.00426971
test eax, eax
je 0x40739e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4073c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x69
call fcn.00426971
test eax, eax
je 0x4073ef
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407412
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6a
call fcn.00426971
test eax, eax
je 0x407440
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407463
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6b
call fcn.00426971
test eax, eax
je 0x407491
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4074b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6c
call fcn.00426971
test eax, eax
je 0x4074e2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407505
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6d
call fcn.00426971
test eax, eax
je 0x407533
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407556
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6e
call fcn.00426971
test eax, eax
je 0x407584
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4075a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x6f
call fcn.00426971
test eax, eax
je 0x4075d5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4075f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x70
call fcn.00426971
test eax, eax
je 0x407626
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407649
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x71
call fcn.00426971
test eax, eax
je 0x407677
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40769a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x72
call fcn.00426971
test eax, eax
je 0x4076c8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4076eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x73
call fcn.00426971
test eax, eax
je 0x407719
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40773c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x74
call fcn.00426971
test eax, eax
je 0x40776a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40778d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x75
call fcn.00426971
test eax, eax
je 0x4077bb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4077de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x76
call fcn.00426971
test eax, eax
je 0x40780c
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40782f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x77
call fcn.00426971
test eax, eax
je 0x40785d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407880
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x78
call fcn.00426971
test eax, eax
je 0x4078ae
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4078d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x79
call fcn.00426971
test eax, eax
je 0x4078ff
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407922
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7a
call fcn.00426971
test eax, eax
je 0x407950
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407973
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7b
call fcn.00426971
test eax, eax
je 0x4079a1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4079c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7c
call fcn.00426971
test eax, eax
je 0x4079f2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407a15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7d
call fcn.00426971
test eax, eax
je 0x407a43
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407a66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7e
call fcn.00426971
test eax, eax
je 0x407a94
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407ab7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401b50
push 0x23500d
mov dword [esp + 0x24], 0x7f
call fcn.00426971
test eax, eax
je 0x407ae5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.004038f0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407b08
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x78]
mov edi, dword [eax + ecx + 0x20]
mov ebx, dword [eax + ecx + 0x1c]
mov ebp, dword [eax + ecx + 0x24]
add eax, ecx
mov eax, dword [eax + 0x18]
add edi, ecx
add ebx, ecx
add ebp, ecx
xor esi, esi
mov dword [esp + 0x14], eax
test eax, eax
jbe 0x4082fd
mov edi, edi
mov ecx, dword [edi + esi*4]
add ecx, dword [esp + 0x28]
push ecx
call fcn.00402b60
add esp, 4
cmp eax, dword [esp + 0x2c]
je 0x408313
inc esi
cmp esi, dword [esp + 0x14]
jb 0x4082e0
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, word [ebp + esi*2]
mov eax, dword [ebx + edx*4]
add eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret