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

Disassembly:
push 0xffffffffffffffff
push 0x443650
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45a2fc]
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 0x404704
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4028d6
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40290b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40292e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402948
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40297d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4029a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4029ba
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4029ef
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402a12
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402a2c
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402a61
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402a84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402a9e
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402ad3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402af6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402b10
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402b45
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402b68
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402b82
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402bb7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402bda
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402bf4
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402c29
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402c4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402c66
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402c9b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402cbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402cd8
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402d0d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402d30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402d4a
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402d7f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402da2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402dbc
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402df1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402e14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402e2e
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402e63
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402e86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402ea0
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402ed5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402ef8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402f12
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402f47
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402f6a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402f84
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x402fb9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x402fdc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402ff6
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40302b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40304e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403068
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40309d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4030c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4030da
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40310f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403132
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40314c
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403181
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4031a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4031be
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4031f3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403216
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403230
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403265
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403288
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4032a2
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4032d7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4032fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403314
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403349
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40336c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403386
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4033bb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4033de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4033f8
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40342d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403450
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40346a
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40349f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4034c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4034dc
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403511
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403534
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40354e
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403583
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4035a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4035c0
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4035f5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403618
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403632
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403667
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40368a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4036a4
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4036d9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4036fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403716
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40374b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40376e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403788
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4037bd
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4037e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4037fa
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40382f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403852
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40386c
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4038a1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4038c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4038de
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403913
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403936
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403950
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403985
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4039a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4039c2
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4039f7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403a1a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403a34
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403a69
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403a8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403aa6
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403adb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403afe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403b18
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403b4d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x403b70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403b8a
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x403bbf
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x3c]
add esi, eax
test ebx, ebx
je 0x4062a6
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40472f
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x404764
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404787
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4047a1
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4047d6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4047f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404813
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x404848
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40486b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404885
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x4048ba
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4048dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4048f7
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40492c
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40494f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404969
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x40499e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4049c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00410b6d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4049db
push 0x80004005
call fcn.00401150
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.0041a5ab
test eax, eax
je 0x404a10
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404a33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4b
call fcn.0041a5ab
test eax, eax
je 0x404a61
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404a84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4c
call fcn.0041a5ab
test eax, eax
je 0x404ab2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404ad5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4d
call fcn.0041a5ab
test eax, eax
je 0x404b03
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404b26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4e
call fcn.0041a5ab
test eax, eax
je 0x404b54
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404b77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4f
call fcn.0041a5ab
test eax, eax
je 0x404ba5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404bc8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x50
call fcn.0041a5ab
test eax, eax
je 0x404bf6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404c19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x51
call fcn.0041a5ab
test eax, eax
je 0x404c47
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404c6a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x52
call fcn.0041a5ab
test eax, eax
je 0x404c98
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404cbb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x53
call fcn.0041a5ab
test eax, eax
je 0x404ce9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404d0c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x54
call fcn.0041a5ab
test eax, eax
je 0x404d3a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404d5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x55
call fcn.0041a5ab
test eax, eax
je 0x404d8b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404dae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x56
call fcn.0041a5ab
test eax, eax
je 0x404ddc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404dff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x57
call fcn.0041a5ab
test eax, eax
je 0x404e2d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404e50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x58
call fcn.0041a5ab
test eax, eax
je 0x404e7e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404ea1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x59
call fcn.0041a5ab
test eax, eax
je 0x404ecf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404ef2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5a
call fcn.0041a5ab
test eax, eax
je 0x404f20
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404f43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5b
call fcn.0041a5ab
test eax, eax
je 0x404f71
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404f94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5c
call fcn.0041a5ab
test eax, eax
je 0x404fc2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x404fe5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5d
call fcn.0041a5ab
test eax, eax
je 0x405013
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405036
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5e
call fcn.0041a5ab
test eax, eax
je 0x405064
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405087
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x5f
call fcn.0041a5ab
test eax, eax
je 0x4050b5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4050d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x60
call fcn.0041a5ab
test eax, eax
je 0x405106
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405129
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x61
call fcn.0041a5ab
test eax, eax
je 0x405157
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40517a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x62
call fcn.0041a5ab
test eax, eax
je 0x4051a8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4051cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x63
call fcn.0041a5ab
test eax, eax
je 0x4051f9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40521c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x64
call fcn.0041a5ab
test eax, eax
je 0x40524a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40526d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x65
call fcn.0041a5ab
test eax, eax
je 0x40529b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4052be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x66
call fcn.0041a5ab
test eax, eax
je 0x4052ec
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40530f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x67
call fcn.0041a5ab
test eax, eax
je 0x40533d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405360
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x68
call fcn.0041a5ab
test eax, eax
je 0x40538e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4053b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x69
call fcn.0041a5ab
test eax, eax
je 0x4053df
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405402
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6a
call fcn.0041a5ab
test eax, eax
je 0x405430
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405453
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6b
call fcn.0041a5ab
test eax, eax
je 0x405481
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4054a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6c
call fcn.0041a5ab
test eax, eax
je 0x4054d2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4054f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6d
call fcn.0041a5ab
test eax, eax
je 0x405523
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405546
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6e
call fcn.0041a5ab
test eax, eax
je 0x405574
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405597
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x6f
call fcn.0041a5ab
test eax, eax
je 0x4055c5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4055e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x70
call fcn.0041a5ab
test eax, eax
je 0x405616
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405639
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x71
call fcn.0041a5ab
test eax, eax
je 0x405667
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40568a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x72
call fcn.0041a5ab
test eax, eax
je 0x4056b8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4056db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x73
call fcn.0041a5ab
test eax, eax
je 0x405709
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40572c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x74
call fcn.0041a5ab
test eax, eax
je 0x40575a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40577d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x75
call fcn.0041a5ab
test eax, eax
je 0x4057ab
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4057ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x76
call fcn.0041a5ab
test eax, eax
je 0x4057fc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x40581f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x77
call fcn.0041a5ab
test eax, eax
je 0x40584d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405870
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x78
call fcn.0041a5ab
test eax, eax
je 0x40589e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4058c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x79
call fcn.0041a5ab
test eax, eax
je 0x4058ef
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405912
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7a
call fcn.0041a5ab
test eax, eax
je 0x405940
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405963
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7b
call fcn.0041a5ab
test eax, eax
je 0x405991
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x4059b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7c
call fcn.0041a5ab
test eax, eax
je 0x4059e2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405a05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7d
call fcn.0041a5ab
test eax, eax
je 0x405a33
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405a56
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7e
call fcn.0041a5ab
test eax, eax
je 0x405a84
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405aa7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x7f
call fcn.0041a5ab
test eax, eax
je 0x405ad5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402490
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 0x405af8
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
test eax, eax
mov dword [esp + 0x14], eax
jbe 0x4062ef
mov edi, edi
mov ecx, dword [edi + esi*4]
add ecx, dword [esp + 0x28]
push ecx
call fcn.00401aa0
add esp, 4
cmp eax, dword [esp + 0x2c]
je 0x406305
add esi, 1
cmp esi, dword [esp + 0x14]
jb 0x4062d0
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