Function at 0x10004840
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0xc08
push ebx
push edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x30d]
mov byte [esp + 0x30c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [0x100081ac], ebx
jne 0x100048bc
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x411]
mov byte [esp + 0x410], bl
rep stosd dword es:[edi], eax
mov ecx, dword [0x1000815c]
lea edx, [esp + 0x410]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x10008160]
push eax
push ecx
push edx
push 0x27df
mov ecx, 0x10008038
call fcn.10003bb0
lea eax, [esp + 0x410]
lea ecx, [esp + 0x30c]
push eax
push ecx
jmp 0x1000490a
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x411]
mov byte [esp + 0x410], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x410]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e0
mov ecx, 0x10008038
call fcn.10003bb0
lea edx, [esp + 0x410]
lea eax, [esp + 0x30c]
push edx
push eax
call dword [0x1000808c]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xb19]
mov byte [esp + 0xb18], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008184]
add esp, 8
stosw word es:[edi], ax
lea ecx, [esp + 0xb10]
push 0xff
push ecx
push edx
stosb byte es:[edi], al
call dword [0x100080d4]
lea eax, [esp + 0xb10]
push 0x5c
push eax
call dword [0x10008080]
add esp, 8
cmp eax, ebx
je 0x10004970
lea ecx, [esp + 0x30c]
push eax
push ecx
call dword [0x10008090]
add esp, 8
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x10d]
mov byte [esp + 0x10c], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x10c]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e6
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x811]
mov byte [esp + 0x810], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x810]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e5
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x711]
mov byte [esp + 0x710], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x710]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e4
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xa11]
mov byte [esp + 0xa10], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0xa10]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e3
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x911]
mov byte [esp + 0x910], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x910]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e2
mov ecx, 0x10008038
call fcn.10003bb0
mov byte [esp + 0x20c], bl
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x20d]
mov edx, dword [0x10008160]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
lea ecx, [esp + 0x210]
push eax
push ecx
push 0x27e1
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 9]
mov byte [esp + 8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x10008408
stosb byte es:[edi], al
call fcn.10005690
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x615]
mov byte [esp + 0x614], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
add esp, 4
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
lea ecx, [esp + 0x614]
push eax
push ecx
push 0x27e7
mov ecx, 0x10008038
call fcn.10003bb0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x511]
mov byte [esp + 0x510], bl
rep stosd dword es:[edi], eax
mov edx, dword [0x10008160]
lea ecx, [esp + 0x510]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000815c]
push edx
push eax
push ecx
push 0x27e8
mov ecx, 0x10008038
call fcn.10003bb0
lea edx, [esp + 0x20c]
push 0x10008408
lea eax, [esp + 0x814]
push edx
lea ecx, [esp + 0x114]
push eax
lea edx, [esp + 0x61c]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
call dword [0x10008074]
lea ecx, [esp + 0x324]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.10005400
lea eax, [esp + 0x22c]
push 0x10008408
lea ecx, [esp + 0x834]
push eax
lea edx, [esp + 0x134]
push ecx
push edx
lea eax, [esp + 0x540]
lea ecx, [esp + 0x38]
push eax
push ecx
call dword [0x10008074]
lea edx, [esp + 0x40]
push 2
push edx
call fcn.100054f0
add esp, 0x40
lea eax, [esp + 8]
push 0x10008420
push eax
call fcn.100055a0
lea ecx, [esp + 0x214]
push 0x10008408
lea edx, [esp + 0x71c]
push ecx
lea eax, [esp + 0x11c]
push edx
lea ecx, [esp + 0x624]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call dword [0x10008074]
lea eax, [esp + 0x32c]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.10005400
lea edx, [esp + 0x234]
push 0x10008408
lea eax, [esp + 0x73c]
push edx
lea ecx, [esp + 0x13c]
push eax
lea edx, [esp + 0x544]
push ecx
lea eax, [esp + 0x40]
push edx
push eax
call dword [0x10008074]
add esp, 0x40
lea ecx, [esp + 8]
push 2
push ecx
call fcn.100054f0
lea edx, [esp + 0x10]
push 0x10008420
push edx
call fcn.100055a0
lea eax, [esp + 0x21c]
push 0x10008408
lea ecx, [esp + 0xa24]
push eax
lea edx, [esp + 0x124]
push ecx
lea eax, [esp + 0x62c]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call dword [0x10008074]
lea edx, [esp + 0x334]
lea eax, [esp + 0x30]
push edx
push eax
call fcn.10005400
lea ecx, [esp + 0x23c]
push 0x10008408
lea edx, [esp + 0xa44]
push ecx
lea eax, [esp + 0x144]
push edx
lea ecx, [esp + 0x54c]
jmp 0x1000ca2f