Function at 0x4ae3c2
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x6d5fa7
call fcn.006899cc
sub esp, 0x28
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 0x1c], ebx
push edi
mov dword [ebx + 4], 0x707118
and dword [ebp - 4], 0
lea ecx, [ebx + 0x20]
mov dword [ebx], 0x70757c
mov dword [ebx + 4], 0x707720
call fcn.004ae35b
xor ecx, ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], ecx
fld dword [0x70998c]
xor eax, eax
fstp dword [ebx + 0x58]
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x6c], ecx
mov dword [ebx + 0x70], 7
mov word [ebx + 0x5c], ax
push 0xf
pop edi
mov dword [ebx + 0x74], ecx
mov dword [ebx + 0x84], ecx
mov dword [ebx + 0x88], edi
mov byte [ebx + 0x74], cl
mov dword [ebx + 0x8c], ecx
mov dword [ebx + 0x9c], ecx
mov dword [ebx + 0xa0], edi
mov byte [ebx + 0x8c], cl
mov word [ebx + 0xa4], 1
mov dword [ebx + 0xa8], ecx
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], edi
mov byte [ebx + 0xa8], cl
mov dword [ebx + 0xc0], ecx
mov dword [ebx + 0xc4], ecx
mov dword [ebx + 0xc8], ecx
mov dword [ebx + 0xcc], ecx
mov dword [ebx + 0xd0], ecx
mov dword [ebx + 0xd4], ecx
mov word [ebx + 0xd8], cx
mov dword [ebx + 0x100], ecx
lea ecx, [ebx + 0x110]
mov byte [ebp - 4], 6
call fcn.0047cd10
and byte [ebx + 0x157], 0xef
lea esi, [ebx + 0x190]
xor ecx, ecx
mov byte [ebp - 4], 7
mov byte [ebx + 0x13c], cl
mov dword [ebx + 0x140], ecx
mov dword [ebx + 0x144], ecx
mov eax, dword [0x7eac68]
mov dword [ebx + 0x15c], eax
mov dword [ebp - 0x14], esi
push esi
mov dword [esi], ecx
mov dword [esi + 4], ecx
call fcn.0046b1b7
mov dword [esi], eax
lea esi, [ebx + 0x198]
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], esi
and dword [esi], 0
and dword [esi + 4], 0
push esi
call fcn.0046f0f5
mov dword [esi], eax
xor esi, esi
mov dword [ebx + 0x1a0], esi
mov dword [ebx + 0x1a4], esi
mov dword [ebx + 0x1a8], esi
lea ecx, [ebx + 0x1ac]
mov byte [ebp - 4], 0xa
call fcn.0045ea47
lea ecx, [ebx + 0x1cc]
mov byte [ebp - 4], 0xb
call fcn.0045ea47
lea ecx, [ebx + 0x1e0]
mov byte [ebp - 4], 0xc
call fcn.0045ea47
mov dword [ebx + 0x1f8], esi
mov dword [ebx + 0x1fc], esi
mov dword [ebx + 0x200], esi
lea ecx, [ebx + 0x204]
mov byte [ebp - 4], 0xe
call fcn.0045ea47
xor eax, eax
mov dword [ebx + 0x22c], edi
mov dword [ebx + 0x218], eax
mov dword [ebx + 0x228], eax
mov byte [ebx + 0x218], al
mov dword [ebx + 0x230], eax
mov dword [ebx + 0x240], eax
mov dword [ebx + 0x244], edi
mov byte [ebx + 0x230], al
mov dword [ebx + 0x250], eax
mov dword [ebx + 0x254], eax
mov dword [ebx + 0x258], eax
lea eax, [ebp - 0xd]
mov byte [ebp - 4], 0x12
lea ecx, [ebx + 0x25c]
push eax
mov dword [ebp - 0x14], ecx
lea eax, [ebp - 0x14]
fldz
push eax
fstp dword [ebp - 0x14]
call fcn.0049f398
lea ecx, [ebx + 0x27c]
mov byte [ebp - 4], 0x13
call fcn.0045ea47
lea ecx, [ebx + 0x290]
mov byte [ebp - 4], 0x14
call fcn.0045ea47
lea eax, [ebx + 0x364]
and dword [eax], esi
and dword [eax + 4], esi
lea esi, [ebx + 0x428]
mov ecx, esi
call fcn.0049323b
xor edx, edx
mov dword [esi], 0x707528
mov dword [esi + 0x48], edx
push 7
pop ecx
xor eax, eax
mov dword [ebx + 0x478], edx
mov dword [ebx + 0x488], edx
mov dword [ebx + 0x48c], ecx
mov word [ebx + 0x478], ax
mov dword [ebx + 0x490], edx
mov dword [ebx + 0x4a0], edx
mov dword [ebx + 0x4a4], ecx
mov word [ebx + 0x490], ax
mov dword [ebx + 0x4a8], edx
mov dword [ebx + 0x4b8], edx
mov dword [ebx + 0x4bc], ecx
mov word [ebx + 0x4a8], ax
mov dword [ebx + 0x4c0], edx
mov dword [ebx + 0x4d0], edx
mov dword [ebx + 0x4d4], ecx
mov word [ebx + 0x4c0], ax
mov dword [ebx + 0x4d8], edx
mov dword [ebx + 0x4e8], edx
mov dword [ebx + 0x4ec], ecx
mov word [ebx + 0x4d8], ax
mov dword [ebx + 0x504], edx
mov dword [ebx + 0x514], edx
mov dword [ebx + 0x518], edi
mov byte [ebx + 0x504], dl
mov dword [ebx + 0x51c], edx
mov dword [ebx + 0x52c], edx
mov dword [ebx + 0x530], edi
mov byte [ebx + 0x51c], dl
mov dword [ebx + 0x538], edx
mov dword [ebx + 0x548], edx
mov dword [ebx + 0x54c], edi
mov byte [ebx + 0x538], dl
mov dword [ebx + 0x57c], edx
mov dword [ebx + 0x58c], edx
mov dword [ebx + 0x590], ecx
mov word [ebx + 0x57c], ax
mov dword [ebx + 0x594], edx
mov dword [ebx + 0x5a4], edx
mov dword [ebx + 0x5a8], ecx
mov word [ebx + 0x594], ax
mov dword [ebx + 0x5ac], edx
mov dword [ebx + 0x5bc], edx
mov dword [ebx + 0x5c0], edi
mov byte [ebx + 0x5ac], dl
mov dword [ebx + 0x5c4], edx
mov dword [ebx + 0x5d4], edx
mov dword [ebx + 0x5d8], ecx
mov word [ebx + 0x5c4], ax
lea ecx, [ebx + 0x620]
mov byte [ebp - 4], 0x23
mov dword [ebx + 0x618], edx
call fcn.0045ea47
xor esi, esi
mov byte [ebp - 4], 0x24
lea ecx, [ebx + 0x650]
mov dword [ebx + 0x64c], esi
call fcn.004ad608
lea eax, [ebp - 0xd]
mov dword [ebx + 0x6a0], esi
lea ecx, [ebx + 0x6b8]
mov dword [ebx + 0x6a4], esi
push eax
mov dword [ebp - 0x14], ecx
lea eax, [ebp - 0x14]
fldz
push eax
fstp dword [ebp - 0x14]
mov dword [ebx + 0x6a8], esi
mov dword [ebx + 0x6b0], esi
call fcn.0049f398
lea ecx, [ebx + 0x6f0]
mov byte [ebp - 4], 0x25
call fcn.004df6ce
xor ecx, ecx
mov dword [ebx + 0x708], ecx
mov dword [ebx + 0x718], ecx
mov dword [ebx + 0x71c], edi
mov byte [ebx + 0x708], cl
xor eax, eax
mov dword [ebx + 0x720], ecx
mov dword [ebx + 0x730], ecx
mov dword [ebx + 0x734], 7
mov word [ebx + 0x720], ax
mov dword [ebx + 0x738], ecx
mov dword [ebx + 0x748], ecx
mov dword [ebx + 0x74c], 7
mov word [ebx + 0x738], ax
lea esi, [ebx + 0x750]
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x14], esi
push esi
mov dword [esi], ecx
mov dword [esi + 4], ecx
call fcn.0049d9f7
mov dword [esi], eax
xor edx, edx
xor eax, eax
push 7
pop ecx
mov dword [ebx + 0x758], edx
mov dword [ebx + 0x768], edx
mov dword [ebx + 0x76c], ecx
mov word [ebx + 0x758], ax
mov dword [ebx + 0x770], edx
mov dword [ebx + 0x780], edx
mov dword [ebx + 0x784], edi
mov byte [ebx + 0x770], dl
mov dword [ebx + 0x788], edx
mov dword [ebx + 0x798], edx
mov dword [ebx + 0x79c], ecx
mov word [ebx + 0x788], ax
lea ecx, [ebx + 0x7d8]
mov byte [ebp - 4], 0x2c
mov byte [ebx + 0x7b4], dl
mov dword [ebx + 0x7b8], 1
mov dword [ebx + 0x7bc], edx
call fcn.0045ea47
lea ecx, [ebx + 0x7ec]
mov byte [ebp - 4], 0x2d
call fcn.0045ea47
xor eax, eax
mov dword [ebx + 0x800], eax
mov dword [ebx + 0x804], eax
mov dword [ebx + 0x808], eax
mov dword [ebx + 0x80c], eax
mov dword [ebx + 0x810], eax
mov byte [ebx + 0x814], al
mov dword [ebx + 0x818], 0x707568
mov dword [ebx + 0x81c], ebx
push 0xa8
mov byte [ebp - 4], 0x31
call fcn.0068973d
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
je 0x4ae8f9
push ebx
mov ecx, eax
call fcn.004aefa2
xor ecx, ecx
jmp 0x4ae8fd
xor ecx, ecx
mov eax, ecx
and byte [ebx + 0x157], 0xfc
mov dword [ebx + 0xd0], eax
xor eax, eax
mov word [ebx + 0x14c], ax
mov word [ebx + 0x148], ax
mov al, byte [ebx + 0x160]
and al, 0xcb
mov byte [ebx + 0x6d8], cl
or al, 8
mov dword [ebx + 0x6e0], ecx
mov dword [ebx + 0x6e4], ecx
mov dword [ebx + 0x2d0], ecx
mov dword [ebx + 0x2d4], ecx
mov dword [ebx + 0x2c8], ecx
mov dword [ebx + 0x2cc], ecx
mov dword [ebx + 0x2b0], ecx
mov dword [ebx + 0x2b4], ecx
mov dword [ebx + 0x2a8], ecx
mov dword [ebx + 0x2ac], ecx
mov dword [ebx + 0x2e0], ecx
mov dword [ebx + 0x2e4], ecx
mov dword [ebx + 0x2d8], ecx
mov dword [ebx + 0x2dc], ecx
mov dword [ebx + 0x2b8], ecx
mov dword [ebx + 0x2bc], ecx
mov dword [ebx + 0x2c0], ecx
mov dword [ebx + 0x2c4], ecx
mov dword [ebx + 0x2e8], ecx
mov dword [ebx + 0x2ec], ecx
mov dword [ebx + 0x2f0], ecx
mov dword [ebx + 0x2f4], ecx
mov dword [ebx + 0x2f8], ecx
mov dword [ebx + 0x2fc], ecx
mov dword [ebx + 0x300], ecx
mov dword [ebx + 0x304], ecx
mov byte [ebx + 0x308], cl
mov byte [ebx + 0x14a], cl
mov dword [ebx + 0x104], ecx
mov byte [ebx + 0x160], al
mov byte [ebx + 0x164], 1
mov dword [ebx + 0x170], ecx
call fcn.0069d629
cdq
mov ecx, 0xe10
idiv ecx
push 0
mov eax, edx
cdq
mov esi, eax
mov edi, edx
call fcn.004a76db
sub eax, esi
mov dword [ebx + 0x188], eax
sbb edx, edi
xor eax, eax
mov dword [ebx + 0x18c], edx
lea edi, [ebx + 0x174]
stosd dword es:[edi], eax
xor ecx, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, byte [ebx + 0x160]
or byte [ebx + 0x158], 2
and al, 0x3f
or al, 0x40
mov dword [ebx + 0x6e8], ecx
mov dword [ebx + 0x6ec], ecx
mov dword [ebx + 0x634], ecx
mov dword [ebx + 0x640], ecx
mov dword [ebx + 0x644], ecx
mov dword [ebx + 0x638], ecx
mov dword [ebx + 0x63c], ecx
mov byte [ebx + 0x160], al
mov dword [ebx + 0x318], ecx
mov dword [ebx + 0xe0], ecx
mov dword [ebx + 0xe4], ecx
mov dword [ebx + 0xe8], ecx
mov word [ebx + 0x155], cx
mov dword [ebx + 0x340], ecx
push 4
push 0x20
push 0x10
push 5
mov dword [ebx + 0x344], ecx
mov dword [ebx + 0x338], ecx
mov dword [ebx + 0x7a0], ecx
mov dword [ebx + 0x7a4], ecx
mov dword [ebx + 0x7a8], ecx
mov dword [ebx + 0x7ac], ecx
mov dword [ebx + 0x2a4], ecx
mov dword [ebx + 0x1c8], ecx
mov dword [ebx + 0x1f4], ecx
call fcn.00515286
mov dword [ebx + 0x1f4], eax
lea edi, [ebx + 0x399]
and byte [ebx + 0x158], 0xf3
xor edx, edx
mov dword [ebx + 0x370], edx
mov dword [ebx + 0x374], edx
mov dword [ebx + 0x378], edx
mov dword [ebx + 0x37c], edx
mov dword [ebx + 0x380], edx
mov dword [ebx + 0x384], edx
mov dword [ebx + 0x388], edx
mov dword [ebx + 0x38c], edx
mov dword [ebx + 0x390], edx
mov dword [ebx + 0x394], edx
mov dword [ebx + 0x348], edx
mov dword [ebx + 0x34c], edx
mov dword [ebx + 0x358], edx
mov dword [ebx + 0x35c], edx
mov dword [ebx + 0xf8], edx
mov dword [ebx + 0xfc], edx
mov dword [ebx + 0x30c], edx
mov dword [ebx + 0x310], edx
mov dword [ebx + 0x314], edx
mov dword [ebx + 0x128], edx
mov dword [ebx + 0x124], edx
mov dword [ebx + 0x130], edx
mov dword [ebx + 0x134], edx
mov dword [ebx + 0x12c], edx
mov dword [ebx + 0x138], edx
push 0x3c
pop esi
mov dword [ebx + 0x248], esi
mov eax, dword [0x7c0ce0]
or dword [ebx + 0x150], 0xffffffff
and byte [ebx + 0x161], 0xfc
and byte [ebx + 0x158], 0xef
mov dword [ebx + 0x108], eax
mov al, byte [ebx + 0x157]
mov dword [ebx + 0x350], edx
and al, 0x13
mov word [ebx + 0x14e], 0x400
or al, 0x40
mov byte [ebx + 0x157], al
xor eax, eax
mov dword [ebx + 0x600], edx
mov byte [ebx + 0x154], dl
mov byte [ebx + 0x162], 0xd
mov byte [ebx + 0x398], dl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov byte [ebx + 0x148], dl
mov dword [ebx + 0x534], edx
mov dword [ebx + 0x550], edx
mov byte [ebx + 0x554], dl
mov word [ebx + 0x569], dx
mov dword [ebx + 0x570], edx
mov dword [ebx + 0x574], edx
mov dword [ebx + 0x578], edx
mov dword [ebx + 0x7c4], edx
mov dword [ebx + 0x5dc], edx
mov dword [ebx + 0x5e0], edx
mov dword [ebx + 0x5e4], edx
mov dword [ebx + 0x5e8], edx
mov dword [ebx + 0x5ec], edx
and byte [ebx + 0x160], 0xfc
mov dword [ebx + 0x1c0], edx
mov dword [ebx + 0x1c4], edx
mov word [ebx + 0x360], dx
push 0x180
mov byte [ebx + 0x362], dl
call fcn.0068973d
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x4aec76
push ebx
mov ecx, eax
call fcn.0051b3b2
jmp 0x4aec78
xor eax, eax
push 0x178
mov byte [ebp - 4], 0x31
mov dword [ebx + 0xec], eax
call fcn.0068973d
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x33
test eax, eax
je 0x4aeca4
push ebx
mov ecx, eax
call fcn.005473c5
xor edx, edx
jmp 0x4aeca8
xor edx, edx
mov eax, edx
mov dword [ebx + 0xd4], eax
mov dword [ebx + 0xf0], edx
mov ecx, dword [ebx + 0xec]
mov al, byte [0x7c0de9]
mov byte [ebp - 4], 0x31
mov byte [ebp - 0xd], 1
mov byte [ecx + 0x8a], al
mov dword [ebx + 0xf4], edx
mov dword [ebx + 0x10c], edx
mov byte [ebx + 0x163], dl
mov byte [ebx + 0x165], dl
mov dword [ebx + 0x330], edx
mov dword [ebx + 0x334], edx
and byte [ebx + 0x704], 0xfe
mov dword [ebx + 0x420], edx
call fcn.00489fdc
lea ecx, [ebx + 0x428]
mov byte [ebp - 4], 0x34
call fcn.00488d90
mov byte [ebp - 4], 0x35
call fcn.0048a01d
xor eax, eax
mov byte [ebp - 4], 0x31
mov dword [ebx + 0x418], eax
mov dword [ebx + 0x41c], eax
mov dword [ebx + 0x410], eax
mov dword [ebx + 0x414], eax
mov dword [ebx + 0x168], eax
mov dword [ebx + 0x16c], CreateStatusWindowA
mov dword [ebx + 0x31c], eax
mov dword [ebx + 0x320], eax
and byte [ebx + 0x324], 0xfe
mov byte [ebx + 0x325], al
mov dword [ebx + 0x4f0], eax
mov dword [ebx + 0x4f4], eax
mov dword [ebx + 0x4f8], eax
mov dword [ebx + 0x4fc], eax
call fcn.0047d47c
xor edx, edx
div esi
mov dword [ebx + 0x328], edx
call fcn.0047d47c
xor edx, edx
lea edi, [ebx + 8]
mov ecx, 0x12c
div ecx
xor eax, eax
xor ecx, ecx
mov dword [ebx + 0x32c], edx
mov dword [ebx + 0x500], ecx
stosd dword es:[edi], eax
push 0x14
pop edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebx + 0x1c], edx
lea edi, [ebx + 0x555]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x7c0e24]
mov dword [ebx + 0x5f0], eax
mov eax, dword [0x7c0e20]
mov dword [ebx + 0x5f8], eax
mov eax, dword [0x7c0e28]
mov dword [ebx + 0x5f4], eax
mov dword [ebx + 0x5fc], ecx
and byte [ebx + 0x158], 0xfe
and byte [ebx + 0x60c], 0xfe
mov dword [ebx + 0x608], ecx
mov dword [ebx + 0x604], ecx
mov dword [ebx + 0x610], ecx
mov dword [ebx + 0x614], ecx
mov dword [ebx + 0x61c], ecx
mov byte [ebx + 0x648], cl
mov dword [ebx + 0x24c], ecx
mov byte [ebx + 0x7b5], cl
mov byte [ebx + 0x7c0], cl
and byte [ebx + 0x161], 0xfb
push 6
pop esi
mov dword [ebx + 0x7c8], esi
or dword [ebx + 0x7d0], 0xffffffff
or dword [ebx + 0x7d4], 0xffffffff
and byte [ebx + 0x3ad], 0xfe
and byte [ebx + 0x161], 0xf7
push edx
call fcn.0068973d
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x36
test eax, eax
je 0x4aee75
push ebx
mov ecx, eax
call fcn.004add3c
jmp 0x4aee77
xor eax, eax
push 0x20
mov byte [ebp - 4], 0x31
mov dword [ebx + 0xdc], eax
call fcn.0068973d
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x37
test eax, eax
je 0x4aee9e
push ebx
mov ecx, eax
call fcn.004add02
jmp 0x4aeea0
xor eax, eax
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x31
call fcn.004b1178
push ebx
call fcn.0054c815
mov eax, dword [0x7ea2fc]
shr eax, 2
test al, 1
je 0x4aeecc
push ebx
call fcn.004d8d36
push eax
mov ecx, ebx
call fcn.004b1178
push ebx
mov ecx, 0x7c10f8
call fcn.004b0567
xor eax, eax
lea edi, [ebp - 0x34]
mov byte [ebx + 0x820], al
mov ecx, esi
mov dword [ebx + 0x828], eax
mov dword [ebx + 0x82c], eax
mov dword [ebx + 0x3b0], eax
mov dword [ebx + 0x3b4], eax
mov dword [ebx + 0x3b8], eax
mov dword [ebx + 0x3bc], eax
mov dword [ebx + 0x3c0], eax
mov dword [ebx + 0x3c4], eax
mov dword [ebx + 0x3c8], eax
mov dword [ebx + 0x3cc], eax
mov dword [ebx + 0x3d0], eax
mov dword [ebx + 0x3d4], eax
mov dword [ebx + 0x3d8], eax
mov dword [ebx + 0x3dc], eax
mov dword [ebx + 0x3e0], eax
mov dword [ebx + 0x3e4], eax
mov dword [ebx + 0x3e8], eax
mov dword [ebx + 0x3ec], eax
rep stosd dword es:[edi], eax
mov dword [ebx + 0x3f0], eax
lea edi, [ebx + 0x3f8]
mov dword [ebx + 0x3f4], eax
mov ecx, esi
push 0x7eaae8
lea eax, [ebp - 0x18]
lea esi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00530d5b
push eax
lea ecx, [ebx + 0x364]
call fcn.004b01d6
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4aef91
call fcn.0040eac0
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret