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

Disassembly:
push 0xffffffffffffffff
push 0x4526a0
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46cc48]
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 0x4046e4
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4028b6
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4028eb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40290e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402928
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40295d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402980
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40299a
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4029cf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4029f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402a0c
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402a41
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402a64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402a7e
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402ab3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402ad6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402af0
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402b25
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402b48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402b62
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402b97
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402bba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402bd4
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402c09
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402c2c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402c46
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402c7b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402c9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402cb8
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402ced
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402d10
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402d2a
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402d5f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402d82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402d9c
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402dd1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402df4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402e0e
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402e43
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402e66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402e80
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402eb5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402ed8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402ef2
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402f27
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402f4a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402f64
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x402f99
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402fbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402fd6
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40300b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40302e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403048
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40307d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4030a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4030ba
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4030ef
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403112
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40312c
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403161
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403184
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40319e
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4031d3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4031f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403210
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403245
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403268
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403282
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4032b7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4032f4
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403329
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40334c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403366
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40339b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4033be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4033d8
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40340d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403430
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40344a
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40347f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4034a2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4034bc
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4034f1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403514
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40352e
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403563
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403586
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4035a0
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4035d5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4035f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403612
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403647
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40366a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403684
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4036b9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4036dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4036f6
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40372b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40374e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403768
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40379d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4037c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4037da
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40380f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403832
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40384c
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403881
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4038a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4038be
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4038f3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403916
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403930
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403965
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403988
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4039a2
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4039d7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4039fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403a14
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403a49
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403a6c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403a86
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403abb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403ade
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403af8
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403b2d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403b50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403b6a
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x403b9f
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x3c]
add esi, eax
test ebx, ebx
je 0x406286
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40470f
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x404744
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404767
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404781
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4047b6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4047d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4047f3
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x404828
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40484b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404865
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40489a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4048bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4048d7
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40490c
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40492f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404949
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x40497e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4049a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00412ba5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4049bb
push 0x80004005
call fcn.00401130
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.0041d524
test eax, eax
je 0x4049f0
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a13
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.0041d524
test eax, eax
je 0x404a41
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a64
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.0041d524
test eax, eax
je 0x404a92
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ab5
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.0041d524
test eax, eax
je 0x404ae3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x4e
call fcn.0041d524
test eax, eax
je 0x404b34
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b57
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.0041d524
test eax, eax
je 0x404b85
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ba8
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.0041d524
test eax, eax
je 0x404bd6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404bf9
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.0041d524
test eax, eax
je 0x404c27
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c4a
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.0041d524
test eax, eax
je 0x404c78
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c9b
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.0041d524
test eax, eax
je 0x404cc9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404cec
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.0041d524
test eax, eax
je 0x404d1a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404d3d
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.0041d524
test eax, eax
je 0x404d6b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404d8e
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.0041d524
test eax, eax
je 0x404dbc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ddf
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.0041d524
test eax, eax
je 0x404e0d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e30
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.0041d524
test eax, eax
je 0x404e5e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e81
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.0041d524
test eax, eax
je 0x404eaf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ed2
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.0041d524
test eax, eax
je 0x404f00
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f23
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.0041d524
test eax, eax
je 0x404f51
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f74
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.0041d524
test eax, eax
je 0x404fa2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404fc5
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.0041d524
test eax, eax
je 0x404ff3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405016
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.0041d524
test eax, eax
je 0x405044
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405067
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.0041d524
test eax, eax
je 0x405095
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4050b8
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.0041d524
test eax, eax
je 0x4050e6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405109
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.0041d524
test eax, eax
je 0x405137
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40515a
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.0041d524
test eax, eax
je 0x405188
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4051ab
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.0041d524
test eax, eax
je 0x4051d9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4051fc
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.0041d524
test eax, eax
je 0x40522a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40524d
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.0041d524
test eax, eax
je 0x40527b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40529e
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.0041d524
test eax, eax
je 0x4052cc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4052ef
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.0041d524
test eax, eax
je 0x40531d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405340
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.0041d524
test eax, eax
je 0x40536e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405391
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.0041d524
test eax, eax
je 0x4053bf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4053e2
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.0041d524
test eax, eax
je 0x405410
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405433
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.0041d524
test eax, eax
je 0x405461
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405484
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.0041d524
test eax, eax
je 0x4054b2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4054d5
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.0041d524
test eax, eax
je 0x405503
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405526
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.0041d524
test eax, eax
je 0x405554
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405577
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.0041d524
test eax, eax
je 0x4055a5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4055c8
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.0041d524
test eax, eax
je 0x4055f6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405619
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.0041d524
test eax, eax
je 0x405647
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40566a
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.0041d524
test eax, eax
je 0x405698
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4056bb
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.0041d524
test eax, eax
je 0x4056e9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40570c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401600
push 0x23500d
mov dword [esp + 0x24], 0x74
call fcn.0041d524
test eax, eax
je 0x40573a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40575d
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.0041d524
test eax, eax
je 0x40578b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057ae
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.0041d524
test eax, eax
je 0x4057dc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057ff
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.0041d524
test eax, eax
je 0x40582d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405850
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.0041d524
test eax, eax
je 0x40587e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4058a1
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.0041d524
test eax, eax
je 0x4058cf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4058f2
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.0041d524
test eax, eax
je 0x405920
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405943
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.0041d524
test eax, eax
je 0x405971
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405994
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.0041d524
test eax, eax
je 0x4059c2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4059e5
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.0041d524
test eax, eax
je 0x405a13
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a36
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.0041d524
test eax, eax
je 0x405a64
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405a87
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.0041d524
test eax, eax
je 0x405ab5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402470
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ad8
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 0x4062cd
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 0x4062e3
inc esi
cmp esi, dword [esp + 0x14]
jb 0x4062b0
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