Function at 0x410530
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x585822
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x6606f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x12c], ecx
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41057e
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xf8], eax
mov dword [ebp - 4], 0
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4105b1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 1
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4105e1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 2
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410611
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 3
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410641
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 4
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410671
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 5
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4106a1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 6
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4106d1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 7
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410701
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 8
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410731
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 9
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410761
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 0xa
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410791
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0xb
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4107c1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 0xc
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4107f1
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0xd
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410821
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x134], eax
push 0
mov byte [ebp - 4], 0xe
call fcn.0056d3e9
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x140], edx
push ecx
lea edx, [ebp - 0xe8]
push edx
mov dword [ebp - 0x144], eax
call fcn.0056d161
add esp, 0xc
or ebx, 0xffffffff
test eax, eax
jne 0x410875
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x104], eax
jmp 0x41087b
mov dword [ebp - 0x104], ebx
lea ecx, [ebp - 0x144]
push ecx
lea edx, [ebp - 0xc4]
push edx
call fcn.0056d161
add esp, 8
test eax, eax
jne 0x4108a3
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x108], eax
jmp 0x4108a9
mov dword [ebp - 0x108], ebx
lea ecx, [ebp - 0x144]
push ecx
lea edx, [ebp - 0xa0]
push edx
call fcn.0056d161
add esp, 8
test eax, eax
jne 0x4108c9
mov ebx, dword [ebp - 0x98]
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x7c]
push ecx
call fcn.0056d161
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x70]
lea edx, [ebp - 0x144]
mov edi, eax
push edx
lea eax, [ebp - 0x58]
push eax
call fcn.0056d161
add esp, 0x10
test eax, eax
jne 0x410901
mov esi, dword [ebp - 0x48]
inc esi
jmp 0x410903
xor esi, esi
lea ecx, [ebp - 0x144]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.0056d161
add esp, 8
test eax, eax
jne 0x410924
mov eax, dword [ebp - 0x20]
add eax, 0x76c
jmp 0x410926
xor eax, eax
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x108]
push ecx
push edx
push ebx
push edi
push esi
push eax
lea eax, [ebp - 0x13c]
push str.__04d_02d_02d___02d__02d__02d_
push eax
call fcn.00403ab0
mov ecx, dword [ebp - 0x13c]
push ecx
lea edx, [ebp - 0x124]
push str._s.txt
push edx
call fcn.00403ab0
add esp, 0x2c
push 0x100
call fcn.0046ee85
test eax, eax
je 0x410983
push 0x100
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xf8]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x10
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
cmp dword [0x6621cc], 0
je 0x411159
cmp dword [0x6621f0], 0
jne 0x4109ee
cmp dword [0x6621f8], 0
jne 0x4109ee
cmp dword [0x661ed8], 0
jne 0x4109ee
cmp dword [0x661edc], 0
je 0x41188e
push 0x6f
call fcn.0046ee85
test eax, eax
je 0x410a0d
push 0x6f
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
push str._r_n_r_n
lea ecx, [ebp - 0xf8]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.004021b0
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xf
call fcn.00401f80
mov eax, dword [ebp - 0x104]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x101
call fcn.0046ee85
test eax, eax
je 0x410a89
push 0x101
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ee4], 0
mov eax, 0x5999f8
jne 0x410a9c
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x102
call fcn.0046ee85
test eax, eax
je 0x410af0
push 0x102
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ed4], 0
mov eax, 0x5999f8
jne 0x410b03
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x112
call fcn.0046ee85
test eax, eax
je 0x410b57
push 0x112
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ed8], 0
mov eax, 0x5999f8
jne 0x410b6a
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x113
call fcn.0046ee85
test eax, eax
je 0x410bbe
push 0x113
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ed8], 0
jne 0x410bd5
cmp dword [0x661edc], 0
mov eax, 0x5999f4
je 0x410bda
mov eax, 0x5999f8
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push 0x5999d8
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x103
call fcn.0046ee85
test eax, eax
je 0x410c2e
push 0x103
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ef4], 0
je 0x410ca6
push 0x11e
call fcn.0046ee85
test eax, eax
je 0x410c56
push 0x11e
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd8]
test eax, eax
jne 0x410c66
mov eax, str.PASS
jmp 0x410c75
cmp eax, 1
mov eax, str.FAIL
je 0x410c75
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x112
call fcn.0046ee85
test eax, eax
je 0x410cc5
push 0x112
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd4]
test eax, eax
jne 0x410cd5
mov eax, str.PASS
jmp 0x410ce4
cmp eax, 1
mov eax, str.FAIL
je 0x410ce4
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x113
call fcn.0046ee85
test eax, eax
je 0x410d34
push 0x113
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd0]
test eax, eax
jne 0x410d44
mov eax, str.PASS
jmp 0x410d53
cmp eax, 1
mov eax, str.FAIL
je 0x410d53
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x105
call fcn.0046ee85
test eax, eax
je 0x410da3
push 0x105
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661d04]
test eax, eax
jne 0x410db3
mov eax, str.PASS
jmp 0x410dc2
cmp eax, 1
mov eax, str.FAIL
je 0x410dc2
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x106
call fcn.0046ee85
test eax, eax
je 0x410e12
push 0x106
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf8]
test eax, eax
jne 0x410e22
mov eax, str.PASS
jmp 0x410e31
cmp eax, 1
mov eax, str.FAIL
je 0x410e31
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x107
call fcn.0046ee85
test eax, eax
je 0x410e81
push 0x107
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf4]
test eax, eax
jne 0x410e91
mov eax, str.PASS
jmp 0x410ea0
cmp eax, 1
mov eax, str.FAIL
je 0x410ea0
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x104
call fcn.0046ee85
test eax, eax
je 0x410ef0
push 0x104
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf0]
test eax, eax
jne 0x410f00
mov eax, str.PASS
jmp 0x410f0f
cmp eax, 1
mov eax, str.FAIL
je 0x410f0f
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x108
call fcn.0046ee85
test eax, eax
je 0x410f5f
push 0x108
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cec]
test eax, eax
jne 0x410f6f
mov eax, str.PASS
jmp 0x410f7e
cmp eax, 1
mov eax, str.FAIL
je 0x410f7e
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x109
call fcn.0046ee85
test eax, eax
je 0x410fce
push 0x109
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce8]
test eax, eax
jne 0x410fde
mov eax, str.PASS
jmp 0x410fed
cmp eax, 1
mov eax, str.FAIL
je 0x410fed
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x75
call fcn.0046ee85
test eax, eax
je 0x411037
push 0x75
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce0]
test eax, eax
jne 0x411047
mov eax, str.PASS
jmp 0x411056
cmp eax, 1
mov eax, str.FAIL
je 0x411056
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x76
call fcn.0046ee85
test eax, eax
je 0x4110a0
push 0x76
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce4]
test eax, eax
jne 0x4110b0
mov eax, str.PASS
jmp 0x4110bf
cmp eax, 1
mov eax, str.FAIL
je 0x4110bf
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x10b
call fcn.0046ee85
test eax, eax
je 0x41110f
push 0x10b
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cdc]
test eax, eax
jne 0x41111f
mov eax, str.PASS
jmp 0x41112e
cmp eax, 1
mov eax, str.FAIL
je 0x41112e
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
jmp 0x411c5d
cmp dword [0x6621f0], 0
jne 0x411181
cmp dword [0x6621f8], 0
jne 0x411181
cmp dword [0x661ed8], 0
jne 0x411181
cmp dword [0x661edc], 0
je 0x41188e
push 0x70
call fcn.0046ee85
test eax, eax
je 0x4111a0
push 0x70
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
push str._r_n_r_n
lea ecx, [ebp - 0xf8]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.004021b0
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x10
call fcn.00401f80
mov eax, dword [ebp - 0x104]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4111f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x104
call fcn.0046ee85
test eax, eax
je 0x41121c
push 0x104
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x6621ec], 0
mov eax, 0x5999f8
jne 0x41122f
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x101
call fcn.0046ee85
test eax, eax
je 0x411283
push 0x101
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ee4], 0
mov eax, 0x5999f8
jne 0x411296
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x102
call fcn.0046ee85
test eax, eax
je 0x4112ea
push 0x102
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ed4], 0
mov eax, 0x5999f8
jne 0x4112fd
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x112
call fcn.0046ee85
test eax, eax
je 0x411351
push 0x112
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ed8], 0
mov eax, 0x5999f8
jne 0x411364
mov eax, 0x5999f4
mov ecx, dword [ebp - 0xf0]
push eax
push esi
push ecx
lea edx, [ebp - 0xec]
push str._s__s
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x113
call fcn.0046ee85
test eax, eax
je 0x4113b8
push 0x113
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
mov ecx, dword [0x661edc]
or ecx, dword [0x661ed8]
mov eax, 0x5999f8
jne 0x4113d0
mov eax, 0x5999f4
mov edx, dword [ebp - 0xf0]
push eax
push esi
push edx
lea eax, [ebp - 0xec]
push 0x5999d8
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x103
call fcn.0046ee85
test eax, eax
je 0x411424
push 0x103
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ef4], 0
je 0x41149c
push 0x11e
call fcn.0046ee85
test eax, eax
je 0x41144c
push 0x11e
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd8]
test eax, eax
jne 0x41145c
mov eax, str.PASS
jmp 0x41146b
cmp eax, 1
mov eax, str.FAIL
je 0x41146b
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x112
call fcn.0046ee85
test eax, eax
je 0x4114bb
push 0x112
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd4]
test eax, eax
jne 0x4114cb
mov eax, str.PASS
jmp 0x4114da
cmp eax, 1
mov eax, str.FAIL
je 0x4114da
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x113
call fcn.0046ee85
test eax, eax
je 0x41152a
push 0x113
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd0]
test eax, eax
jne 0x41153a
mov eax, str.PASS
jmp 0x411549
cmp eax, 1
mov eax, str.FAIL
je 0x411549
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x105
call fcn.0046ee85
test eax, eax
je 0x411599
push 0x105
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661d04]
test eax, eax
jne 0x4115a9
mov eax, str.PASS
jmp 0x4115b8
cmp eax, 1
mov eax, str.FAIL
je 0x4115b8
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x104
call fcn.0046ee85
test eax, eax
je 0x411608
push 0x104
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cfc]
test eax, eax
jne 0x411618
mov eax, str.PASS
jmp 0x411627
cmp eax, 1
mov eax, str.FAIL
je 0x411627
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x108
call fcn.0046ee85
test eax, eax
je 0x411677
push 0x108
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cec]
test eax, eax
jne 0x411687
mov eax, str.PASS
jmp 0x411696
cmp eax, 1
mov eax, str.FAIL
je 0x411696
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x109
call fcn.0046ee85
test eax, eax
je 0x4116e6
push 0x109
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce8]
test eax, eax
jne 0x4116f6
mov eax, str.PASS
jmp 0x411705
cmp eax, 1
mov eax, str.FAIL
je 0x411705
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x75
call fcn.0046ee85
test eax, eax
je 0x41174f
push 0x75
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce0]
test eax, eax
jne 0x41175f
mov eax, str.PASS
jmp 0x41176e
cmp eax, 1
mov eax, str.FAIL
je 0x41176e
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x76
call fcn.0046ee85
test eax, eax
je 0x4117b8
push 0x76
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661ce4]
test eax, eax
jne 0x4117c8
mov eax, str.PASS
jmp 0x4117d7
cmp eax, 1
mov eax, str.FAIL
je 0x4117d7
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x10b
call fcn.0046ee85
test eax, eax
je 0x411827
push 0x10b
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cdc]
test eax, eax
jne 0x411837
mov eax, str.PASS
jmp 0x411846
cmp eax, 1
mov eax, str.FAIL
je 0x411846
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 2
push 0x599234
lea ecx, [ebp - 0xf0]
call fcn.00401f80
jmp 0x411c68
push 0x71
call fcn.0046ee85
test eax, eax
je 0x4118ad
push 0x71
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
push 0x599234
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004021b0
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x11
call fcn.00401f80
mov eax, dword [ebp - 0x104]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xe
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411904
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x103
call fcn.0046ee85
test eax, eax
je 0x411929
push 0x103
push eax
lea ecx, [ebp - 0xf8]
call fcn.004015f0
mov esi, dword [ebp - 0xf8]
cmp dword [0x661ef4], 0
je 0x4119a1
push 0x11e
call fcn.0046ee85
test eax, eax
je 0x411951
push 0x11e
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd8]
test eax, eax
jne 0x411961
mov eax, str.PASS
jmp 0x411970
cmp eax, 1
mov eax, str.FAIL
je 0x411970
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x112
call fcn.0046ee85
test eax, eax
je 0x4119c0
push 0x112
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd4]
test eax, eax
jne 0x4119d0
mov eax, str.PASS
jmp 0x4119df
cmp eax, 1
mov eax, str.FAIL
je 0x4119df
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x113
call fcn.0046ee85
test eax, eax
je 0x411a2f
push 0x113
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cd0]
test eax, eax
jne 0x411a3f
mov eax, str.PASS
jmp 0x411a4e
cmp eax, 1
mov eax, str.FAIL
je 0x411a4e
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x105
call fcn.0046ee85
test eax, eax
je 0x411a9e
push 0x105
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661d04]
test eax, eax
jne 0x411aae
mov eax, str.PASS
jmp 0x411abd
cmp eax, 1
mov eax, str.FAIL
je 0x411abd
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x106
call fcn.0046ee85
test eax, eax
je 0x411b0d
push 0x106
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf8]
test eax, eax
jne 0x411b1d
mov eax, str.PASS
jmp 0x411b2c
cmp eax, 1
mov eax, str.FAIL
je 0x411b2c
mov eax, 0x5999c4
mov edx, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
push edx
push eax
lea ecx, [ebp - 0xec]
push esi
push ecx
call fcn.00403ab0
add esp, 0x14
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x107
call fcn.0046ee85
test eax, eax
je 0x411b7c
push 0x107
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf4]
test eax, eax
jne 0x411b8c
mov eax, str.PASS
jmp 0x411b9b
cmp eax, 1
mov eax, str.FAIL
je 0x411b9b
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
push ecx
lea edx, [ebp - 0xec]
push esi
push edx
call fcn.00403ab0
add esp, 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402290
push 0x104
call fcn.0046ee85
test eax, eax
je 0x411beb
push 0x104
push eax
lea ecx, [ebp - 0xf4]
call fcn.004015f0
mov eax, dword [0x661cf0]
test eax, eax
jne 0x411bfb
mov eax, str.PASS
jmp 0x411c0a
cmp eax, 1
mov eax, str.FAIL
je 0x411c0a
mov eax, 0x5999c4
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push esi
push eax
call fcn.00403ab0
add esp, 0x14
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
mov edx, dword [ebp - 0xf0]
push edx
lea eax, [ebp - 0xec]
push 0x5999bc
push eax
call fcn.00403ab0
add esp, 0xc
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
cmp dword [0x661ce8], 0
jne 0x412ac6
mov ecx, dword [ebp - 0x12c]
mov esi, dword [ecx + 0x834]
mov edx, dword [ecx + 0x83c]
push 0
add ecx, 0x1d8
push 0x598ff8
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x118], edx
call fcn.004016b0
mov dword [ebp - 0xfc], 0x636c1a
mov dword [ebp - 0x100], 0x62ec1a
mov dword [ebp - 0x104], 0
test esi, esi
jle 0x411f3b
xor ebx, ebx
mov dword [ebp - 0x108], ebx
cmp dword [ebp - 0x118], ebx
jle 0x411f10
nop
mov eax, dword [ebp - 0x104]
test eax, eax
jne 0x411daf
test ebx, ebx
jne 0x411d09
push 6
push 0x5999b4
lea ecx, [ebp - 0x114]
call fcn.004016b0
jmp 0x411efd
mov esi, dword [ebp - 0x114]
lea eax, [ebx - 1]
push eax
push esi
lea ecx, [ebp - 0xec]
push str._sR__03d
push ecx
call fcn.00403ab0
mov ecx, dword [ebp - 0xec]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 0x10
cmp eax, esi
je 0x411d89
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x411d79
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x411d79
push eax
call fcn.00401e60
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x411d68
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x114], ebx
mov ebx, dword [ebp - 0x108]
jmp 0x411d89
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x114]
call fcn.004016b0
mov ecx, dword [ebp - 0x118]
dec ecx
cmp ebx, ecx
je 0x411efd
push 1
push 0x599214
lea ecx, [ebp - 0x114]
call fcn.00401f80
jmp 0x411efd
mov esi, dword [ebp - 0x114]
test ebx, ebx
jne 0x411e40
dec eax
push eax
push esi
lea edx, [ebp - 0xec]
push str._sT__03d_
push edx
call fcn.00403ab0
mov ecx, dword [ebp - 0xec]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 0x10
cmp eax, esi
je 0x411efd
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x411e2b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x411e2b
push eax
call fcn.00401e60
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x411e17
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x114], ebx
mov ebx, dword [ebp - 0x108]
jmp 0x411efd
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x114]
call fcn.004016b0
jmp 0x411efd
mov ecx, dword [ebp - 0x100]
mov dx, word [ecx]
mov eax, dword [ebp - 0xfc]
sub dx, word [eax]
movzx eax, dx
movsx ecx, ax
push ecx
push esi
lea edx, [ebp - 0xec]
push str._s_05d
push edx
call fcn.00403ab0
mov ecx, dword [ebp - 0xec]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 0x10
cmp eax, esi
je 0x411ecf
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x411ebf
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x411ebf
push eax
call fcn.00401e60
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x411eae
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x114], ebx
mov ebx, dword [ebp - 0x108]
jmp 0x411ecf
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x114]
call fcn.004016b0
mov ecx, dword [ebp - 0x118]
dec ecx
cmp ebx, ecx
je 0x411eec
push 1
push 0x599214
lea ecx, [ebp - 0x114]
call fcn.00401f80
mov eax, 2
add dword [ebp - 0x100], eax
add dword [ebp - 0xfc], eax
inc ebx
mov dword [ebp - 0x108], ebx
cmp ebx, dword [ebp - 0x118]
jl 0x411ce0
push 2
push 0x599234
lea ecx, [ebp - 0x114]
call fcn.00401f80
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp eax, dword [ebp - 0x130]
jl 0x411ccb
push 2
push 0x599234
lea ecx, [ebp - 0x114]
call fcn.00401f80
cmp dword [ebp - 0x130], 0
mov dword [ebp - 0x100], 0x62ec1a
mov dword [ebp - 0x108], 0
jle 0x4122ca
cmp dword [ebp - 0x118], 0
mov dword [ebp - 0xfc], 0
jle 0x41229f
jmp 0x411f90
cmp dword [ebp - 0x108], 0
mov edi, dword [ebp - 0xfc]
jne 0x4120ba
test edi, edi
jne 0x411fbe
push 6
push 0x5999b4
lea ecx, [ebp - 0x10c]
call fcn.004016b0
jmp 0x412286
mov ebx, dword [ebp - 0x10c]
lea edx, [edi - 1]
push edx
push ebx
lea eax, [ebp - 0xec]
push str._sR__03d
push eax
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x412094
cmp dword [ebx + 0xc], 0
jl 0x412084
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x412084
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x412026
cmp eax, dword [esi]
jne 0x412026
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x41205a
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x412073
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0xfc]
jmp 0x412094
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.004016b0
mov eax, dword [ebp - 0x118]
dec eax
cmp edi, eax
je 0x412286
push 1
push 0x599214
lea ecx, [ebp - 0x10c]
call fcn.00401f80
jmp 0x412286
mov ebx, dword [ebp - 0x10c]
lea edx, [ebp - 0xec]
test edi, edi
jne 0x412198
mov ecx, dword [ebp - 0x108]
dec ecx
push ecx
push ebx
push str._sT__03d_
push edx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x412286
cmp dword [ebx + 0xc], edi
jl 0x412183
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x412183
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], edi
lea ecx, [esi + 0xc]
jl 0x412128
cmp eax, dword [esi]
jne 0x412128
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x41215c
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x412175
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x10c], edi
jmp 0x412286
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.004016b0
jmp 0x412286
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax]
push ecx
push ebx
push str._s_05d
push edx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x41225e
cmp dword [ebx + 0xc], 0
jl 0x41224e
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x41224e
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4121f6
cmp eax, dword [esi]
jne 0x4121f6
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x41222a
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x412243
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x10c], edi
jmp 0x41225e
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.004016b0
mov eax, dword [ebp - 0x118]
dec eax
cmp dword [ebp - 0xfc], eax
je 0x41227f
push 1
push 0x599214
lea ecx, [ebp - 0x10c]
call fcn.00401f80
add dword [ebp - 0x100], 2
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp eax, dword [ebp - 0x118]
jl 0x411f90
push 2
push 0x599234
lea ecx, [ebp - 0x10c]
call fcn.00401f80
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp eax, dword [ebp - 0x130]
jl 0x411f6e
push 2
push 0x599234
lea ecx, [ebp - 0x10c]
call fcn.00401f80
cmp dword [ebp - 0x130], 0
mov dword [ebp - 0xfc], 0x636c1a
mov dword [ebp - 0x108], 0
jle 0x412667
cmp dword [ebp - 0x118], 0
mov dword [ebp - 0x100], 0
jle 0x41263c
jmp 0x412320
cmp dword [ebp - 0x108], 0
mov edi, dword [ebp - 0x100]
jne 0x41244f
test edi, edi
jne 0x412353
push 6
push 0x5999b4
lea ecx, [ebp - 0x110]
call fcn.004016b0
jmp 0x412623
call fcn.00401130
mov ebx, dword [ebp - 0x110]
lea ecx, [edi - 1]
push ecx
push ebx
lea edx, [ebp - 0xec]
push str._sR__03d
push edx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x412429
cmp dword [ebx + 0xc], 0
jl 0x412419
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x412419
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4123bb
cmp eax, dword [esi]
jne 0x4123bb
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4123ef
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x412408
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x100]
jmp 0x412429
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.004016b0
mov eax, dword [ebp - 0x118]
dec eax
cmp edi, eax
je 0x412623
push 1
push 0x599214
lea ecx, [ebp - 0x110]
call fcn.00401f80
jmp 0x412623
mov ebx, dword [ebp - 0x110]
lea edx, [ebp - 0xec]
test edi, edi
jne 0x412531
mov ecx, dword [ebp - 0x108]
dec ecx
push ecx
push ebx
push str._sT__03d_
push edx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x412623
cmp dword [ebx + 0xc], edi
jl 0x41251c
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x41251c
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], edi
lea ecx, [esi + 0xc]
jl 0x4124c1
cmp eax, dword [esi]
jne 0x4124c1
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4124f5
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x41250e
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x110], edi
jmp 0x412623
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.004016b0
jmp 0x412623
mov eax, dword [ebp - 0xfc]
movzx ecx, word [eax]
push ecx
push ebx
push str._s_05d
push edx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x4125fb
cmp dword [ebx + 0xc], 0
jl 0x4125eb
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4125eb
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x412593
cmp eax, dword [esi]
jne 0x412593
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4125c7
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4125e0
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x110], edi
jmp 0x4125fb
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.004016b0
mov eax, dword [ebp - 0x118]
dec eax
cmp dword [ebp - 0x100], eax
je 0x41261c
push 1
push 0x599214
lea ecx, [ebp - 0x110]
call fcn.00401f80
add dword [ebp - 0xfc], 2
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp eax, dword [ebp - 0x118]
jl 0x412320
push 2
push 0x599234
lea ecx, [ebp - 0x110]
call fcn.00401f80
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp eax, dword [ebp - 0x130]
jl 0x4122fd
push 2
push 0x599234
lea ecx, [ebp - 0x110]
call fcn.00401f80
mov esi, dword [ebp - 0x12c]
xor edi, edi
mov dword [ebp - 0x100], 0x63ec1a
mov dword [ebp - 0x104], edi
cmp dword [esi + 0x104], edi
jle 0x41282f
test edi, edi
jne 0x4126b8
push 3
push 0x599990
lea ecx, [ebp - 0x11c]
call fcn.00401f80
jmp 0x41281c
mov ecx, dword [ebp - 0x100]
movzx eax, word [ecx]
xor edx, edx
cmp dx, ax
jne 0x4126dc
push 4
push str.NULL
lea ecx, [ebp - 0x120]
call fcn.004016b0
jmp 0x412736
mov ecx, 1
cmp cx, ax
jne 0x4126ef
push 2
push str.__dM
jmp 0x412727
mov ecx, 2
cmp cx, ax
jne 0x412702
push 1
push 0x5996d4
jmp 0x412727
cmp eax, 0x7d
jb 0x412717
push 0x10
push str.__dK
lea eax, [ebp - 0x120]
push eax
jmp 0x41272e
mov ecx, eax
mov eax, 0x7d0
cdq
idiv ecx
push eax
push 0x5996c8
lea edx, [ebp - 0x120]
push edx
call fcn.00403ab0
add esp, 0xc
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x11c]
push eax
push ebx
lea ecx, [ebp - 0xec]
push 0x599988
push ecx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x41280f
cmp dword [ebx + 0xc], 0
jl 0x4127ff
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4127ff
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4127a1
cmp eax, dword [esi]
jne 0x4127a1
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4127d5
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4127ee
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x104]
jmp 0x41280f
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x11c]
call fcn.004016b0
add dword [ebp - 0x100], 2
mov esi, dword [ebp - 0x12c]
inc edi
mov dword [ebp - 0x104], edi
cmp edi, dword [esi + 0x104]
jl 0x41269d
push 2
push 0x599234
lea ecx, [ebp - 0x11c]
call fcn.00401f80
mov eax, dword [esi + 0x108]
inc eax
mov dword [ebp - 0x104], 0
test eax, eax
jle 0x412a4a
lea ebx, [ebx]
cmp dword [ebp - 0x104], 0
jne 0x412880
push 3
push 0x599984
lea ecx, [ebp - 0x11c]
call fcn.00401f80
jmp 0x412a28
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x410574
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x100]
movzx eax, word [ecx]
xor edx, edx
mov byte [ebp - 4], 0x12
cmp dx, ax
jne 0x4128ce
push 4
push str.NULL
lea ecx, [ebp - 0xfc]
call fcn.004016b0
jmp 0x412928
mov ecx, 1
cmp cx, ax
jne 0x4128e1
push 2
push str.__dM
jmp 0x412919
mov ecx, 2
cmp cx, ax
jne 0x4128f4
push 1
push 0x5996d4
jmp 0x412919
cmp eax, 0x7d
jb 0x412909
push 0x10
push str.__dK
lea eax, [ebp - 0xfc]
push eax
jmp 0x412920
mov ecx, eax
mov eax, 0x7d0
cdq
idiv ecx
push eax
push 0x5996c8
lea edx, [ebp - 0xfc]
push edx
call fcn.00403ab0
add esp, 0xc
mov eax, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0x11c]
push eax
push ebx
lea ecx, [ebp - 0xec]
push 0x599988
push ecx
call fcn.00403ab0
mov eax, dword [ebp - 0xec]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
add esp, 0x10
cmp esi, ebx
je 0x4129fb
cmp dword [ebx + 0xc], 0
jl 0x4129eb
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4129eb
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x412993
cmp eax, dword [esi]
jne 0x412993
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4129c7
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41234e
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0056bcef
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4129e0
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x11c], edi
jmp 0x4129fb
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x11c]
call fcn.004016b0
mov eax, dword [ebp - 0xfc]
add dword [ebp - 0x100], 2
add eax, 0xfffffff0
mov byte [ebp - 4], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412a28
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x104]
mov edx, dword [ecx + 0x108]
inc eax
inc edx
mov dword [ebp - 0x104], eax
cmp eax, edx
jl 0x412860
push 2
push 0x599234
lea ecx, [ebp - 0x11c]
call fcn.00401f80
push 0x119
call fcn.0046ee85
test eax, eax
je 0x412a7b
push 0x119
push eax
lea ecx, [ebp - 0x120]
call fcn.004015f0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x114]
push ecx
mov ecx, dword [ebp - 0xf0]
push edx
mov edx, dword [ebp - 0x120]
push eax
push ecx
push edx
lea eax, [ebp - 0xec]
push eax
call fcn.00403ab0
add esp, 0x1c
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.00402290
call fcn.0046ef71
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x412ae0
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x12c], eax
mov ecx, dword [0x662228]
push str.HYN_TP_LOG
push ecx
lea edx, [ebp - 0x128]
push str._s_s
push edx
mov byte [ebp - 4], 0x13
call fcn.00403ab0
mov esi, dword [ebp - 0x128]
mov edi, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
add esp, 0x10
push esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x412b42
push esi
push str.savePath:_s_n_not_exit_create___n
call fcn.0056e38b
add esp, 8
push 0
push esi
call ebx
push str._Y_m_d
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x144]
call fcn.00410490
mov ecx, dword [eax]
push ecx
push esi
lea edx, [ebp - 0xec]
push str._s_s
push edx
mov byte [ebp - 4], 0x14
call fcn.00403ab0
mov eax, dword [ebp - 0x104]
add eax, 0xfffffff0
add esp, 0x10
mov byte [ebp - 4], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412b9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0x128]
call fcn.00402290
mov esi, dword [ebp - 0x128]
push esi
call edi
test eax, eax
jne 0x412bbe
push eax
push esi
call ebx
cmp byte [0x63f42a], 0
jne 0x412c57
push str.FAIL
push esi
lea edx, [ebp - 0x138]
push str._s_s
push edx
call fcn.00403ab0
mov ebx, dword [ebp - 0x138]
add esp, 0x10
push ebx
call edi
test eax, eax
jne 0x412bfa
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edi, dword [ebp - 0x124]
mov esi, 1
cmp dword [edi - 4], esi
jle 0x412c1f
mov eax, dword [edi - 0xc]
push eax
lea ecx, [ebp - 0x124]
call fcn.00401140
mov edi, dword [ebp - 0x124]
cmp dword [ebx - 4], esi
jle 0x412c39
mov ecx, dword [ebx - 0xc]
push ecx
lea ecx, [ebp - 0x138]
call fcn.00401140
mov ebx, dword [ebp - 0x138]
push edi
push ebx
lea edx, [ebp - 0x128]
push str._s_s
push edx
call fcn.00403ab0
mov esi, dword [ebp - 0x134]
jmp 0x412cda
push str.PASS
push esi
lea eax, [ebp - 0x134]
push str._s_s
push eax
call fcn.00403ab0
mov esi, dword [ebp - 0x134]
add esp, 0x10
push esi
call edi
test eax, eax
jne 0x412c82
push eax
push esi
call ebx
mov edi, dword [ebp - 0x124]
mov ebx, 1
cmp dword [edi - 4], ebx
jle 0x412ca7
mov ecx, dword [edi - 0xc]
push ecx
lea ecx, [ebp - 0x124]
call fcn.00401140
mov edi, dword [ebp - 0x124]
cmp dword [esi - 4], ebx
jle 0x412cc1
mov edx, dword [esi - 0xc]
push edx
lea ecx, [ebp - 0x134]
call fcn.00401140
mov esi, dword [ebp - 0x134]
push edi
push esi
lea eax, [ebp - 0x128]
push str._s_s
push eax
call fcn.00403ab0
mov ebx, dword [ebp - 0x138]
add esp, 0x10
lea ecx, [ebp - 0x15c]
call fcn.00478cbb
mov edi, dword [ebp - 0x128]
push 0
push 0x1021
push edi
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x15
call fcn.00479143
test eax, eax
je 0x412d2a
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x15c]
call fcn.004789f2
lea ecx, [ebp - 0x15c]
call fcn.00478c56
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x13
call fcn.00478deb
mov eax, dword [ebp - 0x12c]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d9f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412dbf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x148]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412de5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x11c]
add eax, 0xfffffff0
mov byte [ebp - 4], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e0b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x110]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x10c]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e7d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x114]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412ea3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xf0]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412ec9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xec]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412eef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x124]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x13c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f8a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056c19b
mov esp, ebp
pop ebp
ret