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

Disassembly:
jmp 0x4072f0
push 0xffffffffffffffff
push 0x49e6c0
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cd03c]
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 0x409174
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407346
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0
call fcn.0041c213
test eax, eax
je 0x40737b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40739e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4073b8
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 1
call fcn.0041c213
test eax, eax
je 0x4073ed
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407410
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40742a
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 2
call fcn.0041c213
test eax, eax
je 0x40745f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407482
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40749c
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 3
call fcn.0041c213
test eax, eax
je 0x4074d1
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4074f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40750e
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 4
call fcn.0041c213
test eax, eax
je 0x407543
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407566
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407580
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 5
call fcn.0041c213
test eax, eax
je 0x4075b5
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4075d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4075f2
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 6
call fcn.0041c213
test eax, eax
je 0x407627
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40764a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407664
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 7
call fcn.0041c213
test eax, eax
je 0x407699
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4076bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4076d6
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 8
call fcn.0041c213
test eax, eax
je 0x40770b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40772e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407748
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 9
call fcn.0041c213
test eax, eax
je 0x40777d
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4077a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4077ba
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xa
call fcn.0041c213
test eax, eax
je 0x4077ef
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407812
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40782c
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xb
call fcn.0041c213
test eax, eax
je 0x407861
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407884
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40789e
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xc
call fcn.0041c213
test eax, eax
je 0x4078d3
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4078f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407910
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xd
call fcn.0041c213
test eax, eax
je 0x407945
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407968
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407982
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xe
call fcn.0041c213
test eax, eax
je 0x4079b7
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4079da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4079f4
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0xf
call fcn.0041c213
test eax, eax
je 0x407a29
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407a4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407a66
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x10
call fcn.0041c213
test eax, eax
je 0x407a9b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407abe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407ad8
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x11
call fcn.0041c213
test eax, eax
je 0x407b0d
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407b30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407b4a
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x12
call fcn.0041c213
test eax, eax
je 0x407b7f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407ba2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407bbc
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x13
call fcn.0041c213
test eax, eax
je 0x407bf1
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407c14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407c2e
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x14
call fcn.0041c213
test eax, eax
je 0x407c63
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407c86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407ca0
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x15
call fcn.0041c213
test eax, eax
je 0x407cd5
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407cf8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407d12
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x16
call fcn.0041c213
test eax, eax
je 0x407d47
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407d6a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407d84
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x17
call fcn.0041c213
test eax, eax
je 0x407db9
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407ddc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407df6
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x18
call fcn.0041c213
test eax, eax
je 0x407e2b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407e4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407e68
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x19
call fcn.0041c213
test eax, eax
je 0x407e9d
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407ec0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407eda
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1a
call fcn.0041c213
test eax, eax
je 0x407f0f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407f32
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407f4c
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1b
call fcn.0041c213
test eax, eax
je 0x407f81
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x407fa4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x407fbe
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1c
call fcn.0041c213
test eax, eax
je 0x407ff3
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x408016
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408030
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1d
call fcn.0041c213
test eax, eax
je 0x408065
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x408088
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4080a2
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1e
call fcn.0041c213
test eax, eax
je 0x4080d7
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4080fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408114
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x1f
call fcn.0041c213
test eax, eax
je 0x408149
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40816c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408186
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x20
call fcn.0041c213
test eax, eax
je 0x4081bb
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4081de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4081f8
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x21
call fcn.0041c213
test eax, eax
je 0x40822d
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x408250
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40826a
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x22
call fcn.0041c213
test eax, eax
je 0x40829f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4082c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4082dc
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x23
call fcn.0041c213
test eax, eax
je 0x408311
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x408334
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40834e
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x24
call fcn.0041c213
test eax, eax
je 0x408383
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4083a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4083c0
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x25
call fcn.0041c213
test eax, eax
je 0x4083f5
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x408418
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408432
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x26
call fcn.0041c213
test eax, eax
je 0x408467
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40848a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4084a4
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x27
call fcn.0041c213
test eax, eax
je 0x4084d9
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4084fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408516
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x28
call fcn.0041c213
test eax, eax
je 0x40854b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40856e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x408588
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x29
call fcn.0041c213
test eax, eax
je 0x4085bd
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4085e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4085fa
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x3c]
add esi, eax
test ebx, ebx
je 0x40ad16
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40919f
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x44
call fcn.0041c213
test eax, eax
je 0x4091d4
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4091f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409211
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x45
call fcn.0041c213
test eax, eax
je 0x409246
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409269
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409283
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x46
call fcn.0041c213
test eax, eax
je 0x4092b8
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4092db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4092f5
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x47
call fcn.0041c213
test eax, eax
je 0x40932a
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40934d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409367
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x48
call fcn.0041c213
test eax, eax
je 0x40939c
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4093bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4093d9
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x49
call fcn.0041c213
test eax, eax
je 0x40940e
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409431
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0041c30a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40944b
push 0x80004005
call fcn.0040141a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x89059b
mov dword [esp + 0x24], 0x4a
call fcn.0041c213
test eax, eax
je 0x409480
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4094a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x4b
call fcn.0041c213
test eax, eax
je 0x4094d1
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4094f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x4c
call fcn.0041c213
test eax, eax
je 0x409522
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409545
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x4d
call fcn.0041c213
test eax, eax
je 0x409573
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409596
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x4e
call fcn.0041c213
test eax, eax
je 0x4095c4
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4095e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x4f
call fcn.0041c213
test eax, eax
je 0x409615
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409638
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x50
call fcn.0041c213
test eax, eax
je 0x409666
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409689
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x51
call fcn.0041c213
test eax, eax
je 0x4096b7
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4096da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x52
call fcn.0041c213
test eax, eax
je 0x409708
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40972b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x53
call fcn.0041c213
test eax, eax
je 0x409759
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40977c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x54
call fcn.0041c213
test eax, eax
je 0x4097aa
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4097cd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x55
call fcn.0041c213
test eax, eax
je 0x4097fb
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40981e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x56
call fcn.0041c213
test eax, eax
je 0x40984c
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40986f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x57
call fcn.0041c213
test eax, eax
je 0x40989d
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4098c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x58
call fcn.0041c213
test eax, eax
je 0x4098ee
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409911
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x59
call fcn.0041c213
test eax, eax
je 0x40993f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409962
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5a
call fcn.0041c213
test eax, eax
je 0x409990
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x4099b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5b
call fcn.0041c213
test eax, eax
je 0x4099e1
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409a04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5c
call fcn.0041c213
test eax, eax
je 0x409a32
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409a55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5d
call fcn.0041c213
test eax, eax
je 0x409a83
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409aa6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5e
call fcn.0041c213
test eax, eax
je 0x409ad4
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409af7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x5f
call fcn.0041c213
test eax, eax
je 0x409b25
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409b48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x60
call fcn.0041c213
test eax, eax
je 0x409b76
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409b99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x61
call fcn.0041c213
test eax, eax
je 0x409bc7
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409bea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x62
call fcn.0041c213
test eax, eax
je 0x409c18
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409c3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x63
call fcn.0041c213
test eax, eax
je 0x409c69
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409c8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x64
call fcn.0041c213
test eax, eax
je 0x409cba
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409cdd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x65
call fcn.0041c213
test eax, eax
je 0x409d0b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409d2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x66
call fcn.0041c213
test eax, eax
je 0x409d5c
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409d7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x67
call fcn.0041c213
test eax, eax
je 0x409dad
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409dd0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x68
call fcn.0041c213
test eax, eax
je 0x409dfe
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409e21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x69
call fcn.0041c213
test eax, eax
je 0x409e4f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409e72
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6a
call fcn.0041c213
test eax, eax
je 0x409ea0
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409ec3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6b
call fcn.0041c213
test eax, eax
je 0x409ef1
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409f14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6c
call fcn.0041c213
test eax, eax
je 0x409f42
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409f65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6d
call fcn.0041c213
test eax, eax
je 0x409f93
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x409fb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6e
call fcn.0041c213
test eax, eax
je 0x409fe4
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a007
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x6f
call fcn.0041c213
test eax, eax
je 0x40a035
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a058
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x70
call fcn.0041c213
test eax, eax
je 0x40a086
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a0a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x71
call fcn.0041c213
test eax, eax
je 0x40a0d7
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a0fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x72
call fcn.0041c213
test eax, eax
je 0x40a128
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a14b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x73
call fcn.0041c213
test eax, eax
je 0x40a179
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a19c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x74
call fcn.0041c213
test eax, eax
je 0x40a1ca
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a1ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x75
call fcn.0041c213
test eax, eax
je 0x40a21b
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a23e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x76
call fcn.0041c213
test eax, eax
je 0x40a26c
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a28f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x77
call fcn.0041c213
test eax, eax
je 0x40a2bd
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a2e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x78
call fcn.0041c213
test eax, eax
je 0x40a30e
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a331
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x79
call fcn.0041c213
test eax, eax
je 0x40a35f
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a382
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7a
call fcn.0041c213
test eax, eax
je 0x40a3b0
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a3d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7b
call fcn.0041c213
test eax, eax
je 0x40a401
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a424
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7c
call fcn.0041c213
test eax, eax
je 0x40a452
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a475
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7d
call fcn.0041c213
test eax, eax
je 0x40a4a3
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a4c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7e
call fcn.0041c213
test eax, eax
je 0x40a4f4
push 0x89059b
push eax
lea ecx, [esp + 0x1c]
call fcn.0040104b
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 0x40a517
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401109
push 0x89059b
mov dword [esp + 0x24], 0x7f
call fcn.0041c213
test eax, eax
je 0x40a545
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 0x40ad5d
mov edi, edi
mov ecx, dword [edi + esi*4]
add ecx, dword [esp + 0x28]
push ecx
call fcn.00401348
add esp, 4
cmp eax, dword [esp + 0x2c]
je 0x40ad73
inc esi
cmp esi, dword [esp + 0x14]
jb 0x40ad40
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