Function at 0x40a9f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x104
mov al, byte [0x45b7c1]
push ebx
mov byte [esp + 7], al
push esi
mov ecx, 0x45b7bc
or eax, 0xffffffff
mov esi, ecx
mov edx, eax
add ecx, 0x20
mov dword [esi], edx
cmp ecx, 0x45d7bc
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
jl 0x40aa09
mov ecx, 0x45be3c
mov esi, ecx
xor edx, edx
add ecx, 0x20
mov dword [esi], edx
cmp ecx, 0x45bebc
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
jl 0x40aa28
xor cl, cl
mov dl, 0x46
mov bl, 0x25
mov byte [0x45be1c], 1
mov byte [0x45be1d], 0x40
mov byte [0x45be1e], cl
mov byte [0x45be1f], cl
mov byte [0x45be20], 4
mov byte [0x45be21], cl
mov byte [0x45be22], cl
mov byte [0x45be23], cl
mov byte [0x45be24], cl
mov byte [0x45be25], cl
mov byte [0x45be26], cl
mov byte [0x45be27], cl
mov byte [0x45be28], cl
mov byte [0x45be29], cl
mov byte [0x45be2a], cl
mov byte [0x45be2b], cl
mov byte [0x45bb1c], cl
mov byte [0x45bb1d], cl
mov byte [0x45bb1e], cl
mov byte [0x45bb1f], cl
mov byte [0x45bb20], cl
mov byte [0x45bb21], cl
mov byte [0x45bb22], cl
mov byte [0x45bb23], cl
mov byte [0x45bb24], 0x50
mov byte [0x45bb25], 0x33
mov byte [0x45bb26], 0x32
mov byte [0x45bb27], 0x30
mov byte [0x45bb28], 0x37
mov byte [0x45bb2a], 0xf8
mov byte [0x45bb2b], 0xff
mov byte [esp + 0xc], dl
mov byte [esp + 0xd], 0x75
mov byte [esp + 0xe], 0x50
mov byte [esp + 0xf], cl
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], bl
mov byte [esp + 0x12], 0x50
mov byte [esp + 0x13], cl
mov byte [esp + 0x14], al
mov byte [esp + 0x15], al
mov byte [esp + 0x16], al
mov byte [esp + 0x17], al
mov byte [esp + 0x18], al
mov byte [esp + 0x19], cl
mov byte [esp + 0x1a], 0x10
mov byte [esp + 0x1b], al
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1d], 0x75
mov byte [esp + 0x1e], 0x75
mov byte [esp + 0x1f], cl
mov byte [esp + 0x20], dl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], 0x75
mov byte [esp + 0x23], cl
mov byte [esp + 0x24], al
mov byte [esp + 0x25], al
mov byte [esp + 0x26], al
mov byte [esp + 0x27], al
mov byte [esp + 0x28], al
mov byte [esp + 0x29], cl
mov byte [esp + 0x2a], 0x10
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], dl
mov byte [esp + 0x2d], 0x76
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], cl
mov byte [esp + 0x30], dl
mov byte [esp + 0x31], 0x26
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x34], al
mov byte [esp + 0x35], al
mov byte [esp + 0x36], al
mov byte [esp + 0x37], al
mov byte [esp + 0x38], al
mov byte [esp + 0x39], cl
mov byte [esp + 0x3a], 0x10
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], 0x76
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], cl
mov byte [esp + 0x40], dl
mov byte [esp + 0x41], 0x26
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], cl
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
mov byte [esp + 0x46], al
mov byte [esp + 0x47], al
mov byte [esp + 0x48], al
mov byte [esp + 0x49], cl
mov byte [esp + 0x4a], 0x10
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], dl
mov byte [esp + 0x4d], 0x76
mov byte [esp + 0x4e], 0x50
mov byte [esp + 0x4f], cl
mov byte [esp + 0x50], dl
mov byte [esp + 0x51], 0x26
mov byte [esp + 0x52], 0x50
mov byte [esp + 0x53], cl
mov byte [esp + 0x54], al
mov byte [esp + 0x55], al
mov byte [esp + 0x56], al
mov byte [esp + 0x57], al
mov byte [esp + 0x58], al
mov byte [esp + 0x59], cl
mov byte [esp + 0x5a], 0x10
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], dl
mov byte [esp + 0x5d], 0x76
mov byte [esp + 0x5e], 0x75
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], dl
mov byte [esp + 0x61], 0x26
mov byte [esp + 0x62], 0x75
mov byte [esp + 0x63], cl
mov byte [esp + 0x64], al
mov byte [esp + 0x65], al
mov byte [esp + 0x66], al
mov byte [esp + 0x67], al
mov byte [esp + 0x68], al
mov byte [esp + 0x69], cl
mov byte [esp + 0x6a], 0x10
mov byte [esp + 0x6b], al
mov byte [esp + 0x6c], dl
mov byte [esp + 0x6d], 0x77
mov byte [esp + 0x6e], cl
mov byte [esp + 0x6f], cl
mov byte [esp + 0x70], dl
mov byte [esp + 0x71], 0x27
mov byte [esp + 0x72], cl
mov byte [esp + 0x73], cl
mov byte [esp + 0x74], al
mov byte [esp + 0x75], al
mov byte [esp + 0x76], al
mov byte [esp + 0x77], al
mov byte [esp + 0x78], al
mov byte [esp + 0x79], cl
mov byte [esp + 0x7a], 0x10
mov byte [esp + 0x7b], al
mov byte [esp + 0x7c], dl
mov byte [esp + 0x7d], 0x77
mov byte [esp + 0x7e], bl
mov byte [esp + 0x7f], cl
mov byte [esp + 0x80], dl
mov byte [esp + 0x81], 0x27
mov byte [esp + 0x82], bl
mov byte [esp + 0x83], cl
mov byte [esp + 0x84], al
mov byte [esp + 0x85], al
mov byte [esp + 0x86], al
mov byte [esp + 0x87], al
mov byte [esp + 0x88], al
mov byte [esp + 0x89], cl
mov byte [esp + 0x8a], 0x10
mov byte [esp + 0x8b], al
mov byte [esp + 0x8c], dl
mov byte [esp + 0x8d], 0x75
mov byte [esp + 0x8e], 0x50
mov byte [esp + 0x8f], cl
mov byte [esp + 0x90], dl
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], 0x50
mov byte [esp + 0x93], cl
mov byte [esp + 0x94], al
mov byte [esp + 0x95], al
mov byte [esp + 0x96], al
mov byte [esp + 0x97], al
mov byte [esp + 0x98], al
mov byte [esp + 0x99], cl
mov byte [esp + 0x9a], 0x18
mov byte [esp + 0x9b], al
mov byte [esp + 0x9c], dl
mov byte [esp + 0x9d], 0x75
mov byte [esp + 0x9e], 0x75
mov byte [esp + 0x9f], cl
mov byte [esp + 0xa0], dl
mov byte [esp + 0xa1], bl
mov byte [esp + 0xa2], 0x75
mov byte [esp + 0xa3], cl
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], cl
mov byte [esp + 0xaa], 0x18
mov byte [esp + 0xab], al
mov byte [esp + 0xac], dl
mov byte [esp + 0xad], 0x76
mov byte [esp + 0xae], cl
mov byte [esp + 0xaf], cl
mov byte [esp + 0xb0], dl
mov byte [esp + 0xb1], 0x26
mov byte [esp + 0xb2], cl
mov byte [esp + 0xb3], cl
mov byte [esp + 0xb4], al
mov byte [esp + 0xb5], al
mov byte [esp + 0xb6], al
mov byte [esp + 0xb7], al
mov byte [esp + 0xb8], al
mov byte [esp + 0xb9], cl
mov byte [esp + 0xba], 0x18
mov byte [esp + 0xbb], al
mov byte [esp + 0xbc], dl
mov byte [esp + 0xbd], 0x76
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], cl
mov byte [esp + 0xc0], dl
mov byte [esp + 0xc1], 0x26
mov byte [esp + 0xc2], bl
mov byte [esp + 0xc3], cl
mov byte [esp + 0xc4], al
mov byte [esp + 0xc5], al
mov byte [esp + 0xc6], al
mov byte [esp + 0xc7], al
mov byte [esp + 0xc8], al
mov byte [esp + 0xc9], cl
mov byte [esp + 0xca], 0x18
mov byte [esp + 0xcb], al
mov byte [esp + 0xcc], dl
mov byte [esp + 0xcd], 0x76
mov byte [esp + 0xce], 0x50
mov byte [esp + 0xcf], cl
mov byte [esp + 0xd0], dl
mov byte [esp + 0xd1], 0x26
mov byte [esp + 0xd2], 0x50
mov byte [esp + 0xd3], cl
mov byte [esp + 0xd4], al
mov byte [esp + 0xd5], al
mov byte [esp + 0xd6], al
mov byte [esp + 0xd7], al
mov byte [esp + 0xd8], al
mov byte [esp + 0xd9], cl
mov byte [esp + 0xda], 0x18
mov byte [esp + 0xdb], al
mov byte [esp + 0xdc], dl
mov byte [esp + 0xdf], cl
mov byte [esp + 0xe3], cl
mov byte [esp + 0xe4], al
mov byte [esp + 0xe5], al
mov byte [esp + 0xe6], al
mov byte [esp + 0xe7], al
mov byte [esp + 0xe8], al
mov byte [esp + 0xe9], cl
mov byte [esp + 0xeb], al
mov byte [esp + 0xee], cl
mov byte [esp + 0xef], cl
mov byte [esp + 0xf2], cl
mov byte [esp + 0xf3], cl
mov byte [esp + 0xf4], al
mov byte [esp + 0xf5], al
mov byte [esp + 0xf6], al
mov byte [esp + 0xf7], al
mov byte [esp + 0xf8], al
mov byte [esp + 0xf9], cl
mov byte [esp + 0xfb], al
mov byte [esp + 0xfe], bl
mov byte [esp + 0xff], cl
mov byte [esp + 0x102], bl
mov byte [esp + 0x103], cl
mov byte [esp + 0x104], al
mov byte [esp + 0x105], al
mov byte [esp + 0x106], al
mov byte [esp + 0x107], al
mov byte [esp + 0x108], al
mov byte [esp + 0x109], cl
mov byte [esp + 0x10b], al
pop esi
mov byte [esp + 0xd9], 0x76
mov byte [esp + 0xda], 0x75
mov byte [esp + 0xdc], dl
mov byte [esp + 0xdd], 0x26
mov byte [esp + 0xde], 0x75
mov byte [esp + 0xe6], 0x18
mov byte [esp + 0xe8], dl
mov byte [esp + 0xe9], 0x77
mov byte [esp + 0xec], dl
mov byte [esp + 0xed], 0x27
mov byte [esp + 0xf6], 0x18
mov byte [esp + 0xf8], dl
mov byte [esp + 0xf9], 0x77
mov byte [esp + 0xfc], dl
mov byte [esp + 0xfd], 0x27
mov byte [esp + 0x106], 0x18
mov eax, 0x45b7de
lea ecx, [esp + 9]
pop ebx
mov dl, byte [ecx - 1]
add ecx, 0x10
mov byte [eax + 1], dl
mov dl, byte [ecx - 0x10]
mov byte [eax], dl
mov dl, byte [ecx - 0xf]
mov byte [eax - 1], dl
mov dl, byte [ecx - 0xe]
mov byte [eax - 2], dl
mov dl, byte [ecx - 0xd]
mov byte [eax + 5], dl
mov dl, byte [ecx - 0xc]
mov byte [eax + 4], dl
mov dl, byte [ecx - 0xb]
mov byte [eax + 3], dl
mov dl, byte [ecx - 0xa]
mov byte [eax + 2], dl
mov dl, byte [ecx - 9]
mov byte [eax + 6], dl
mov dl, byte [ecx - 8]
mov byte [eax + 7], dl
mov dl, byte [ecx - 7]
mov byte [eax + 8], dl
mov dl, byte [ecx - 6]
mov byte [eax + 9], dl
mov dl, byte [ecx - 5]
mov byte [eax + 0xa], dl
mov dl, byte [ecx - 4]
mov byte [eax + 0xb], dl
mov dl, byte [ecx - 3]
mov byte [eax + 0xc], dl
mov dl, byte [ecx - 2]
mov byte [eax + 0xd], dl
add eax, 0x20
cmp eax, 0x45b9de
jl 0x40b0f7
mov al, byte [esp + 3]
mov byte [0x45b7c1], al
add esp, 0x104
ret