Function at 0x41d840
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d57b0
mov eax, dword fs:[0]
push eax
sub esp, 0x144
push ebx
push esi
push edi
mov eax, dword [0x540c80]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0041c420
mov esi, eax
mov eax, 0x66666667
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, esi
lea ecx, [ecx + ecx*4]
add ecx, ecx
sub eax, ecx
cmp eax, 1
jne 0x41e958
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
push esi
lea eax, [ebp - 0x18]
push 0x51f470
push eax
call fcn.00411590
mov eax, dword [0x5406d8]
add esp, 0xc
mov ecx, 0x5406d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 3
call fcn.0041d480
test al, al
jne 0x41d927
mov esi, dword [0x545d90]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x2f4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
add esp, 4
push eax
call fcn.004afe1b
add esp, 4
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 4
mov eax, str.errcounter
test eax, 0xffff0000
jne 0x41d964
movzx esi, ax
mov ecx, esi
call fcn.00401b90
test eax, eax
je 0x41d971
push esi
push eax
lea ecx, [ebp - 0x10]
call fcn.00402a00
jmp 0x41d971
push str.errcounter
lea ecx, [ebp - 0x10]
call fcn.00403700
mov byte [ebp - 4], 5
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
mov eax, 0x51a783
test eax, 0xffff0000
jne 0x41d9b2
movzx esi, ax
mov ecx, esi
call fcn.00401b90
test eax, eax
je 0x41d9bf
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00402a00
jmp 0x41d9bf
push 0x51a783
lea ecx, [ebp - 0x14]
call fcn.00403700
mov byte [ebp - 4], 7
push edi
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x2c]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x10]
push ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
push ecx
mov edx, eax
lea ecx, [ebp - 0x1c]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
lea ecx, [ebp - 0x20]
push dword [eax - 0xc]
push eax
call fcn.0040fe40
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
or esi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41da31
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41da51
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41da71
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41da91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dab1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x545d90]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0xc
idiv ecx
cmp edx, 5
jne 0x41db23
movsd xmm3, qword [0x528e10]
movsd xmm6, qword [0x528e38]
movsd xmm5, qword [0x528e08]
movd xmm4, esi
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x41db0d
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x41daf3
push 0x51f4d4
lea ecx, [ebp - 0x10]
call fcn.004025a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.0041f600
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x148]
call fcn.0041f4d0
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x140]
call fcn.0041f380
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x138]
call fcn.0041f270
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x130]
call fcn.0041f810
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x128]
call fcn.0041f700
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x120]
call fcn.0041f0d0
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x118]
call fcn.0041fdb0
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x110]
call fcn.0041fcd0
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x108]
call fcn.0041fbf0
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x100]
call fcn.0041f8f0
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xf8]
call fcn.0041fa20
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xf0]
call fcn.0041e970
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xe8]
call fcn.0041f550
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xe0]
call fcn.0041f1b0
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xd8]
call fcn.0041ecc0
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xd0]
call fcn.0041eec0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xc8]
call fcn.0041ed50
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xc0]
call fcn.0041ef70
mov ebx, eax
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0xb8]
call fcn.0041f430
mov edi, eax
mov byte [ebp - 4], 0x24
mov edx, dword [0x5406d8]
mov ecx, 0x5406d8
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 0x26
push edi
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xb0]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x27
push 0x51f4d0
mov edx, eax
lea ecx, [ebp - 0xa8]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x28
push ebx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x29
push 0x51f4cc
mov edx, eax
lea ecx, [ebp - 0x98]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x2a
push dword [ebp - 0x24]
mov edx, eax
lea ecx, [ebp - 0x90]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x2b
push 0x51f4c8
mov edx, eax
lea ecx, [ebp - 0x88]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x2c
push dword [ebp - 0x1c]
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x2d
push 0x51f4c4
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x2e
push dword [ebp - 0x14]
mov edx, eax
lea ecx, [ebp - 0x70]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x2f
push 0x51f4c0
mov edx, eax
lea ecx, [ebp - 0x68]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x30
push dword [ebp - 0xb4]
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x31
push 0x51f4bc
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x32
push dword [ebp - 0x150]
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x33
push 0x51f4b8
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x34
push dword [ebp - 0x3c]
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x35
push 0x51f4b4
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x36
push dword [ebp - 0x10c]
mov edx, eax
lea ecx, [ebp - 0xc4]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x37
push 0x51f4b0
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x38
push dword [ebp - 0x44]
mov edx, eax
lea ecx, [ebp - 0xbc]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x39
push 0x51f4ac
mov edx, eax
lea ecx, [ebp - 0x104]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x3a
push dword [ebp - 0xcc]
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x3b
push 0x51f4a8
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x3c
push dword [ebp - 0x4c]
mov edx, eax
lea ecx, [ebp - 0xac]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x3d
push 0x51f4a4
mov edx, eax
lea ecx, [ebp - 0xfc]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x3e
push dword [ebp - 0x14c]
mov edx, eax
lea ecx, [ebp - 0xa4]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x3f
push 0x51f4a0
mov edx, eax
lea ecx, [ebp - 0x124]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x40
push dword [ebp - 0x54]
mov edx, eax
lea ecx, [ebp - 0x9c]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x41
push 0x51f49c
mov edx, eax
lea ecx, [ebp - 0xf4]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x42
push dword [ebp - 0xd4]
mov edx, eax
lea ecx, [ebp - 0x94]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x43
push 0x51f498
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x44
push dword [ebp - 0x5c]
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x45
push 0x51f494
mov edx, eax
lea ecx, [ebp - 0xec]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x46
push dword [ebp - 0x114]
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x47
push 0x51f490
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x48
push dword [ebp - 0x64]
mov edx, eax
lea ecx, [ebp - 0x7c]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x49
push 0x51f48c
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x4a
push dword [ebp - 0xdc]
mov edx, eax
lea ecx, [ebp - 0x74]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x4b
push 0x51f488
mov edx, eax
lea ecx, [ebp - 0x134]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x4c
push dword [ebp - 0x6c]
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.0040f160
add esp, 4
mov byte [ebp - 4], 0x4e
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e081
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x50
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e0a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x52
mov edx, dword [ebp - 0xe4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e0c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov edx, dword [ebp - 0x7c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e0e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e107
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x58
mov edx, dword [ebp - 0x84]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e12a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5a
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e14d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0x8c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e170
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e193
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x60
mov edx, dword [ebp - 0x94]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e1b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x62
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e1d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x64
mov edx, dword [ebp - 0x9c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e1fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x66
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e21f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x68
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e242
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e265
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6c
mov edx, dword [ebp - 0xac]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e288
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6e
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e2ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x70
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e2cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x72
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e2ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x74
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e311
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x76
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e334
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x78
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e357
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7a
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e377
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7c
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e397
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7e
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e3b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x80
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e3d7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x82
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e3f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x84
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e417
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x86
mov edx, dword [ebp - 0x68]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e437
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x88
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e457
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8a
mov edx, dword [ebp - 0x78]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e477
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8c
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e497
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8e
mov edx, dword [ebp - 0x88]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e4ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x90
mov edx, dword [ebp - 0x90]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e4dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x92
mov edx, dword [ebp - 0x98]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e500
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x94
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e523
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x96
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e546
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x98
mov edx, dword [ebp - 0xb0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e569
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9a
add esi, 0xfffffff0
mov ecx, ebx
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e586
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9c
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e5a9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9e
mov edx, dword [ebp - 0xc0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e5cc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa0
mov edx, dword [ebp - 0xc8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e5ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa2
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e612
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa4
mov edx, dword [ebp - 0xd8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e635
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa6
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e658
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa8
mov edx, dword [ebp - 0xe8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e67b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xaa
mov edx, dword [ebp - 0xf0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e69e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xac
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e6c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xae
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e6e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb0
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e707
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb2
mov edx, dword [ebp - 0x110]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e72a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb4
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e74d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb6
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e770
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb8
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e793
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xba
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e7b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbc
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e7d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbe
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e7fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc0
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e81f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc2
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e83f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc4
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e85f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x51f4dc
lea ecx, [ebp - 0x10]
call fcn.004025a0
mov byte [ebp - 4], 0xc6
lea ecx, [ebp - 0x28]
call fcn.004210a0
mov byte [ebp - 4], 0xc7
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x10]
mov ecx, eax
call fcn.0041d4f0
add esp, 4
mov byte [ebp - 4], 0xc6
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e8ad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc4
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e8cd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0041d480
test al, al
jne 0x41e8f7
mov esi, dword [0x545d90]
mov ecx, 1
cmp esi, ecx
jle 0x41e8f1
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x41e8e5
mov dword [0x545d90], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e917
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41e937
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x41e958
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret