Function at 0x2454b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x518
mov eax, dword [0x2da130]
xor eax, esp
mov dword [esp + 0x514], eax
push ebx
xor ebx, ebx
mov al, 2
push ebp
mov ebp, dword [esp + 0x524]
mov byte [esp + 0x4b], al
mov byte [esp + 0x57], al
mov al, 0x20
push esi
push edi
mov byte [esp + 0x50], 0x12
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], bl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], 0x40
mov byte [esp + 0x58], 0x7d
mov byte [esp + 0x59], 0xd
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], 1
mov byte [esp + 0x5c], 0x10
mov byte [esp + 0x5d], 1
mov byte [esp + 0x5e], 1
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], 1
mov byte [esp + 0x62], 4
mov byte [esp + 0x63], 3
mov byte [esp + 0x64], 9
mov byte [esp + 0x65], 4
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], bl
mov byte [esp + 0x68], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], bl
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], bl
mov byte [esp + 0x70], bl
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], bl
mov byte [esp + 0x79], bl
mov byte [esp + 0x7a], bl
mov byte [esp + 0x7b], bl
mov byte [esp + 0x7c], 4
mov byte [esp + 0x7d], 3
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x80], al
mov byte [esp + 0x81], al
mov byte [esp + 0x82], al
mov byte [esp + 0x83], al
mov byte [esp + 0x84], al
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], al
mov byte [esp + 0x87], al
mov byte [esp + 0x88], al
mov byte [esp + 0x89], al
mov byte [esp + 0x8a], al
mov byte [esp + 0x8b], al
mov byte [esp + 0x8c], al
mov byte [esp + 0x8d], al
mov byte [esp + 0x8e], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x90], al
mov byte [esp + 0x91], al
mov byte [esp + 0x92], al
mov byte [esp + 0x93], al
mov byte [esp + 0x94], al
mov byte [esp + 0x95], al
mov byte [esp + 0x96], 4
mov byte [esp + 0x97], 3
mov byte [esp + 0x98], al
mov cl, 0x34
mov byte [esp + 0x99], al
mov byte [esp + 0x9a], al
mov byte [esp + 0x9b], al
mov byte [esp + 0x9c], al
mov byte [esp + 0x9d], al
mov byte [esp + 0x9e], al
mov byte [esp + 0x9f], al
mov byte [esp + 0xa0], al
mov byte [esp + 0xa1], al
mov byte [esp + 0xa2], al
mov byte [esp + 0xa3], al
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], al
mov byte [esp + 0xa6], al
mov byte [esp + 0xa7], al
mov byte [esp + 0xa8], al
mov byte [esp + 0xa9], al
mov byte [esp + 0xaa], al
mov byte [esp + 0xab], al
mov byte [esp + 0xac], al
mov byte [esp + 0xad], al
mov byte [esp + 0xae], al
mov byte [esp + 0xaf], al
mov al, 0x30
mov dl, 0x38
mov byte [esp + 0xd2], cl
mov byte [esp + 0xda], cl
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], bl
mov byte [esp + 0xb2], bl
mov byte [esp + 0xb3], bl
mov byte [esp + 0xb4], bl
mov byte [esp + 0xb5], bl
mov byte [esp + 0xb6], bl
mov byte [esp + 0xb7], bl
mov byte [esp + 0xb8], bl
mov byte [esp + 0xb9], bl
mov byte [esp + 0xba], bl
mov byte [esp + 0xbb], bl
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbd], bl
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], bl
mov byte [esp + 0xc0], bl
mov byte [esp + 0xc1], bl
mov byte [esp + 0xc2], bl
mov byte [esp + 0xc3], bl
mov byte [esp + 0xc4], bl
mov byte [esp + 0xc5], bl
mov byte [esp + 0xc6], bl
mov byte [esp + 0xc7], bl
mov byte [esp + 0xc8], bl
mov byte [esp + 0xc9], bl
mov byte [esp + 0xca], 0x1a
mov byte [esp + 0xcb], 3
mov byte [esp + 0xcc], al
mov byte [esp + 0xcd], bl
mov byte [esp + 0xce], dl
mov byte [esp + 0xcf], bl
mov byte [esp + 0xd0], 0x31
mov byte [esp + 0xd1], bl
mov byte [esp + 0xd3], bl
mov byte [esp + 0xd4], 0x31
mov byte [esp + 0xd5], bl
mov byte [esp + 0xd6], 0x43
mov byte [esp + 0xd7], bl
mov byte [esp + 0xd8], al
mov byte [esp + 0xd9], bl
mov byte [esp + 0xdb], bl
mov byte [esp + 0xdc], al
mov byte [esp + 0xdd], bl
mov byte [esp + 0xde], al
mov byte [esp + 0xdf], bl
mov byte [esp + 0xe0], dl
mov byte [esp + 0xe1], bl
mov byte [esp + 0xe2], 0x39
mov byte [esp + 0xe3], bl
mov ecx, 0x25
lea esi, [esp + 0x50]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x2ca1ec]
mov edx, dword [0x2ca1f0]
mov eax, dword [str.0123456789ABCDEF]
mov dword [esp + 0xf0], ecx
movzx ecx, byte [0x2ca1f8]
mov dword [esp + 0xf4], edx
mov dword [esp + 0xec], eax
mov eax, dword [0x2ca1f4]
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0xfc], eax
mov byte [esp + 0x100], cl
mov word [esp + 0x101], bx
mov byte [esp + 0x103], bl
call fcn.002a1c7c
lea eax, [esp + 0x24]
add esp, 4
push eax
call fcn.002a1f85
add esp, 4
push ebx
mov dword [esp + 0x14], eax
call fcn.002a1c7c
add esp, 4
push eax
call fcn.002a1fac
add esp, 4
call fcn.002a1fbe
mov ecx, eax
shl ecx, 8
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov esi, edx
shr esi, 0x1f
add esi, edx
call fcn.002a1fbe
mov ecx, eax
shl ecx, 8
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
shl esi, 8
or edi, esi
call fcn.002a1fbe
mov esi, dword [esp + 0x10]
mov ecx, eax
shl ecx, 8
mov eax, 0x80010003
imul ecx
add edx, ecx
movzx ecx, byte [esi + 0x14]
sub cl, 4
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
shl edi, 8
or eax, edi
and ecx, 0xf
movzx edx, byte [esp + ecx + 0xec]
movzx ecx, byte [esi + 0x10]
movzx esi, byte [esi + 0xc]
inc cl
mov byte [esp + 0x30], dl
mov byte [esp + 0x2e], 0x31
mov byte [esp + 0x2f], 0x39
and ecx, 0xf
movzx edx, byte [esp + ecx + 0xec]
mov ecx, esi
and ecx, 0x10
or ecx, 0x80
mov byte [esp + 0x31], dl
shr ecx, 4
movzx edx, byte [esp + ecx + 0xec]
mov byte [esp + 0x32], dl
and esi, 0xf
movzx ecx, byte [esp + esi + 0xec]
mov edx, eax
shr edx, 0x14
and edx, 0xf
mov byte [esp + 0x33], cl
movzx ecx, byte [esp + edx + 0xec]
mov edx, eax
shr edx, 0x10
and edx, 0xf
mov byte [esp + 0x34], cl
movzx ecx, byte [esp + edx + 0xec]
mov edx, eax
shr edx, 0xc
and edx, 0xf
mov byte [esp + 0x35], cl
movzx ecx, byte [esp + edx + 0xec]
mov edx, eax
shr edx, 8
and edx, 0xf
mov byte [esp + 0x36], cl
movzx ecx, byte [esp + edx + 0xec]
mov edx, eax
shr edx, 4
and edx, 0xf
mov byte [esp + 0x37], cl
movzx ecx, byte [esp + edx + 0xec]
and eax, 0xf
movzx edx, byte [esp + eax + 0xec]
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], dl
mov byte [esp + 0x2d], 3
mov byte [esp + 0x2c], 0x1a
mov byte [ebp + 0x60], 0x1a
mov byte [ebp + 0x61], 3
xor ecx, ecx
jmp 0x245a50
mov eax, 0xaaaaaaab
mul ecx
shr edx, 3
imul edx, edx, 0x17
lea eax, [ecx + ecx + 0x62]
sub eax, edx
mov dl, byte [esp + ecx + 0x2e]
inc ecx
cmp ecx, 0xc
mov byte [eax + ebp], dl
jl 0x245a50
mov byte [ebp + 0x10], 3
mov byte [ebp + 0xad], 0xec
mov eax, dword [0x2c9a78]
mov dword [ebp + 0xc4], eax
mov cx, word [0x2c9a7c]
mov word [ebp + 0xc8], cx
mov byte [ebp + 0xca], bl
mov byte [ebp + 0xcb], 7
mov byte [ebp + 0x107], bl
mov byte [ebp + 0x108], bl
mov byte [ebp + 0x109], bl
mov byte [ebp + 0x10a], bl
mov byte [ebp + 0x102], 0xf
mov byte [ebp + 0x103], 0xd0
call fcn.002453e0
test eax, eax
jne 0x245bd9
push 0x210
lea eax, [esp + 0x104]
push ebx
push eax
call fcn.002a4930
add esp, 0xc
lea ecx, [esp + 0x100]
push ecx
push ebx
mov ecx, 0x2f3bf8
call fcn.0025c39f
cmp eax, ebx
jne 0x245c0a
movzx edx, word [esp + 0x27e]
push 0x210
lea eax, [esp + 0x314]
push ebx
push eax
mov dword [esp + 0x1c], edx
call fcn.002a4930
add esp, 0xc
lea ecx, [esp + 0x310]
push ecx
push 0x2c9a70
mov ecx, 0x2f3bf8
call fcn.0025c39f
cmp eax, ebx
jne 0x245c0a
mov al, byte [esp + 0x31d]
cmp al, 0xad
je 0x245b5b
mov byte [0x2f3b38], bl
cmp al, 0xdd
jne 0x245b62
mov byte [0x2f3b38], 1
movzx ecx, byte [0x2f4409]
mov edx, dword [esp + 0x198]
mov al, byte [esp + 0x28d]
mov ebx, dword [esp + 0x194]
push ecx
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x20], al
call fcn.00245dd0
mov edx, dword [esp + 0x1c]
add esp, 4
push ebp
sub esp, 0x24
mov edi, esp
sub esp, 0xc
mov eax, esp
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x50]
mov dword [eax], ebx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x44]
push edx
lea ebx, [esp + 0x138]
mov byte [eax + 8], cl
call fcn.00244970
mov eax, dword [0x2f3b3c]
add esp, 0x38
test eax, eax
je 0x245bd9
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [ebp + 0xac]
cmp al, 7
je 0x245bf2
cmp al, 8
je 0x245bf2
cmp al, 3
je 0x245bf2
mov byte [ebp + 0xac], 3
mov eax, dword [esp + 0x10]
movzx esi, byte [ebp + 0xac]
push eax
mov eax, ebp
call fcn.00246070
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x524]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.002a105e
add esp, 0x518
ret