Function at 0x10003a90
Capabilities:
Contain obfuscated stackstrings
Hash data using rshash

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10092ed6
mov eax, dword fs:[0]
push eax
sub esp, 0x350
mov eax, dword [0x100b0380]
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2f4], 0x10007
mov byte [ebp - 0x328], 0x60
mov byte [ebp - 0x327], 0xe8
mov byte [ebp - 0x326], 0x10
mov byte [ebp - 0x325], 0
mov byte [ebp - 0x324], 0
mov byte [ebp - 0x323], 0
mov byte [ebp - 0x322], 0
mov byte [ebp - 0x321], 0
mov byte [ebp - 0x320], 0
mov byte [ebp - 0x31f], 0
mov byte [ebp - 0x31e], 0
mov byte [ebp - 0x31d], 0
mov byte [ebp - 0x31c], 0
mov byte [ebp - 0x31b], 0
mov byte [ebp - 0x31a], 0
mov byte [ebp - 0x319], 0
mov byte [ebp - 0x318], 0
mov byte [ebp - 0x317], 0
mov byte [ebp - 0x316], 0
mov byte [ebp - 0x315], 0
mov byte [ebp - 0x314], 0
mov byte [ebp - 0x313], 0
mov byte [ebp - 0x312], 0x5b
mov byte [ebp - 0x311], 0x33
mov byte [ebp - 0x310], 0xc0
mov byte [ebp - 0x30f], 0x50
mov byte [ebp - 0x30e], 0x50
mov byte [ebp - 0x30d], 0xff
mov byte [ebp - 0x30c], 0x73
mov byte [ebp - 0x30b], 0xc
mov byte [ebp - 0x30a], 0xff
mov byte [ebp - 0x309], 0x73
mov byte [ebp - 0x308], 8
mov byte [ebp - 0x307], 0x50
mov byte [ebp - 0x306], 0x50
mov byte [ebp - 0x305], 0x8b
mov byte [ebp - 0x304], 3
mov byte [ebp - 0x303], 0x89
mov byte [ebp - 0x302], 0x5b
mov byte [ebp - 0x301], 0x28
mov byte [ebp - 0x300], 0xff
mov byte [ebp - 0x2ff], 0x53
mov byte [ebp - 0x2fe], 4
mov byte [ebp - 0x2fd], 0x61
mov byte [ebp - 0x2fc], 0xff
mov byte [ebp - 0x2fb], 0x25
mov byte [ebp - 0x2fa], 0
mov byte [ebp - 0x2f9], 0
mov byte [ebp - 0x2f8], 0
mov byte [ebp - 0x2f7], 0
push 4
call fcn.10079b72
add esp, 4
mov dword [ebp - 0x18], eax
push 4
call fcn.10079b72
add esp, 4
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x330], eax
call fcn.10079c4e
cdq
mov ecx, 0x65
idiv ecx
add edx, 2
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
call fcn.10079c4e
cdq
mov ecx, 0x65
idiv ecx
add edx, 0x200
mov eax, dword [ebp - 0x32c]
mov dword [eax], edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, 0x100e39e4
call fcn.10057600
push 0x28
call fcn.10079b72
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x5c6b7
mov dword [ebp - 0x334], 0xf8c9
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x33c], 0xa
jge 0x10003dd9
mov eax, dword [ebp - 0x33c]
imul eax, eax, 9
mov ecx, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x18]
cmp dword [edx], 0x200
jle 0x10003d82
pushfd
push 2
add edx, 8
popfd
push dword ds:[0xffdf0803]
push 0
mov dword [ebp + 0xc], edx
mov dword [ebp + 8], 0xbadb0d00
pop edx
sub esp, ecx
shr ecx, 2
mov edi, esp
mov ecx, dword fs:[0x40]
mov esp, dword [ecx + 4]
mov edx, dword [ebp - 0x18]
cmp dword [edx], 0x200
jne 0x10003dbf
push 0x23
mov ebx, dword fs:[0x1c]
push 0x3b
mov esi, dword [ebx + 0x124]
test byte [esi + 0x2c], 0xff
mov dword [esi + 0x134], ebp
mov ebx, dword [ebp + 0x60]
mov ebx, eax
and eax, 0xfff
cmp eax, dword [edi + 8]
cmp ecx, 0x10
mov edi, dword [edi]
mov ebx, dword [edi + eax*4]
sub esp, ecx
shr ecx, 2
mov edi, esp
xor ebx, ebx
or ebx, dword [ecx + 0xf70]
push edx
push eax
mov edx, 0x10003d36
push edx
ret
mov edx, dword [ebp - 0x14]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x33c]
add eax, 1
mov dword [ebp - 0x33c], eax
jmp 0x10003ce3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x10], 0
jmp 0x10003df5
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xa
jge 0x10003e29
mov eax, dword [ebp - 0x33c]
imul eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x334]
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x334], eax
jmp 0x10003dec
mov eax, dword [ebp - 0x33c]
and eax, 0x7fffffff
mov dword [ebp - 0x33c], eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.10079c70
add esp, 4
lea eax, [ebp - 0x2f4]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, 0x100e396c
call fcn.100577b0
test eax, eax
jne 0x10003e8f
mov edx, dword [ebp + 0x14]
push edx
mov eax, 0x100e3a0c
call fcn.10057600
mov eax, dword [ebp - 0x18]
push eax
call fcn.10079c70
add esp, 4
mov ecx, dword [ebp - 0x32c]
push ecx
call fcn.10079c70
add esp, 4
xor eax, eax
jmp 0x10004248
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x322], edx
push 0x6062be8a
mov eax, 0x5058d36e
mov ecx, 0x19
mov esi, 0xc
lea edi, [ebp - 0x344]
call fcn.10057110
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x354], eax
mov dword [ebp - 4], 0
push 0x2c080594
mov eax, 0x1bfe1a68
mov ecx, 0x6b
mov esi, 0xc
lea edi, [ebp - 0x34c]
call fcn.10057110
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x35c], ecx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x354]
call fcn.10013470
push eax
mov eax, dword [ebp - 0x35c]
call fcn.10013470
push eax
mov eax, 0x100e3944
call fcn.10057600
push eax
mov eax, 0x100e3954
call fcn.100577b0
mov dword [ebp - 0x31e], eax
mov byte [ebp - 4], 0
lea esi, [ebp - 0x34c]
call fcn.10057150
mov dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x344]
call fcn.10057150
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x31a], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x316], eax
push ebx
mov ebx, 0x1000401a
push ebx
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.10079a05
mov esp, ebp
pop ebp
ret