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

Disassembly:
push 0xffffffffffffffff
push 0x452c70
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46eaa4]
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 0x405bf4
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403dc6
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x403dfb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403e1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403e38
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x403e6d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403e90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403eaa
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x403edf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403f02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403f1c
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x403f51
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403f74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403f8e
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x403fc3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403fe6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404000
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404035
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404058
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404072
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4040a7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4040ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4040e4
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404119
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40413c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404156
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40418b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4041ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4041c8
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4041fd
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404220
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40423a
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40426f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404292
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4042ac
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4042e1
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404304
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40431e
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404353
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404376
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404390
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4043c5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4043e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404402
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404437
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40445a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404474
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4044a9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4044cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4044e6
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40451b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40453e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404558
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40458d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4045b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4045ca
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4045ff
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404622
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40463c
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404671
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404694
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4046ae
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4046e3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404706
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404720
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404755
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404778
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404792
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4047c7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4047ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404804
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404839
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40485c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404876
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4048ab
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4048ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4048e8
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40491d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404940
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40495a
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40498f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4049b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4049cc
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404a01
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404a3e
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404a73
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404ab0
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404ae5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404b22
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404b57
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404b7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404b94
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404bc9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404bec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404c06
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404c3b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404c5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404c78
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404cad
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404cd0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404cea
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404d1f
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404d42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404d5c
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404d91
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404db4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404dce
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404e03
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404e40
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404e75
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404e98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404eb2
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404ee7
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f0a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404f24
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404f59
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404f7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404f96
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x404fcb
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404fee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405008
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x40503d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405060
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40507a
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x4050af
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x3c]
add esi, eax
test ebx, ebx
je 0x407796
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405c1f
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405c54
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405c77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405c91
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405cc6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ce9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405d03
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405d38
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405d5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405d75
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405daa
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405dcd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405de7
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405e1c
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405e3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405e59
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405e8e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405eb1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00419e37
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x405ecb
push 0x80004005
call fcn.00401350
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.0041d263
test eax, eax
je 0x405f00
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405f23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x4b
call fcn.0041d263
test eax, eax
je 0x405f51
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405f74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x4c
call fcn.0041d263
test eax, eax
je 0x405fa2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405fc5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x4d
call fcn.0041d263
test eax, eax
je 0x405ff3
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406016
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x4e
call fcn.0041d263
test eax, eax
je 0x406044
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406067
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x4f
call fcn.0041d263
test eax, eax
je 0x406095
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4060b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x50
call fcn.0041d263
test eax, eax
je 0x4060e6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406109
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x51
call fcn.0041d263
test eax, eax
je 0x406137
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40615a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x52
call fcn.0041d263
test eax, eax
je 0x406188
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x53
call fcn.0041d263
test eax, eax
je 0x4061d9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x54
call fcn.0041d263
test eax, eax
je 0x40622a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40624d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x55
call fcn.0041d263
test eax, eax
je 0x40627b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40629e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x56
call fcn.0041d263
test eax, eax
je 0x4062cc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4062ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x57
call fcn.0041d263
test eax, eax
je 0x40631d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406340
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x58
call fcn.0041d263
test eax, eax
je 0x40636e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406391
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x59
call fcn.0041d263
test eax, eax
je 0x4063bf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4063e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5a
call fcn.0041d263
test eax, eax
je 0x406410
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406433
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5b
call fcn.0041d263
test eax, eax
je 0x406461
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406484
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5c
call fcn.0041d263
test eax, eax
je 0x4064b2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4064d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5d
call fcn.0041d263
test eax, eax
je 0x406503
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406526
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5e
call fcn.0041d263
test eax, eax
je 0x406554
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406577
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x5f
call fcn.0041d263
test eax, eax
je 0x4065a5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4065c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x60
call fcn.0041d263
test eax, eax
je 0x4065f6
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406619
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x61
call fcn.0041d263
test eax, eax
je 0x406647
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40666a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x62
call fcn.0041d263
test eax, eax
je 0x406698
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4066bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x63
call fcn.0041d263
test eax, eax
je 0x4066e9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40670c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x64
call fcn.0041d263
test eax, eax
je 0x40673a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40675d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x65
call fcn.0041d263
test eax, eax
je 0x40678b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4067ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x66
call fcn.0041d263
test eax, eax
je 0x4067dc
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4067ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x67
call fcn.0041d263
test eax, eax
je 0x40682d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406850
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x68
call fcn.0041d263
test eax, eax
je 0x40687e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x69
call fcn.0041d263
test eax, eax
je 0x4068cf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4068f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6a
call fcn.0041d263
test eax, eax
je 0x406920
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406943
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6b
call fcn.0041d263
test eax, eax
je 0x406971
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406994
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6c
call fcn.0041d263
test eax, eax
je 0x4069c2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4069e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6d
call fcn.0041d263
test eax, eax
je 0x406a13
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6e
call fcn.0041d263
test eax, eax
je 0x406a64
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x6f
call fcn.0041d263
test eax, eax
je 0x406ab5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ad8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x70
call fcn.0041d263
test eax, eax
je 0x406b06
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x71
call fcn.0041d263
test eax, eax
je 0x406b57
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x72
call fcn.0041d263
test eax, eax
je 0x406ba8
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406bcb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x73
call fcn.0041d263
test eax, eax
je 0x406bf9
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x74
call fcn.0041d263
test eax, eax
je 0x406c4a
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x75
call fcn.0041d263
test eax, eax
je 0x406c9b
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x76
call fcn.0041d263
test eax, eax
je 0x406cec
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x77
call fcn.0041d263
test eax, eax
je 0x406d3d
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x78
call fcn.0041d263
test eax, eax
je 0x406d8e
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406db1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x79
call fcn.0041d263
test eax, eax
je 0x406ddf
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7a
call fcn.0041d263
test eax, eax
je 0x406e30
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7b
call fcn.0041d263
test eax, eax
je 0x406e81
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ea4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7c
call fcn.0041d263
test eax, eax
je 0x406ed2
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ef5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7d
call fcn.0041d263
test eax, eax
je 0x406f23
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7e
call fcn.0041d263
test eax, eax
je 0x406f74
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
call fcn.00401850
push 0x23500d
mov dword [esp + 0x24], 0x7f
call fcn.0041d263
test eax, eax
je 0x406fc5
push 0x23500d
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ea0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x20], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406fe8
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 0x4077df
mov edi, edi
mov ecx, dword [edi + esi*4]
add ecx, dword [esp + 0x28]
push ecx
call fcn.004027c0
add esp, 4
cmp eax, dword [esp + 0x2c]
je 0x4077f5
add esi, 1
cmp esi, dword [esp + 0x14]
jb 0x4077c0
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