Function at 0x416798
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xb04
mov eax, 0x48b034
call fcn.0046d731
mov ebx, edx
mov dword [ebp - 0x784], ebx
mov esi, ecx
and dword [ebp - 0x778], 0xfffffe00
and dword [ebp - 0x774], 0
xor edi, edi
lea ecx, [ebp - 0x748]
inc edi
mov dword [ebp - 4], edi
call fcn.0041a27c
push ecx
push esi
lea ecx, [ebp - 0x66c]
mov byte [ebp - 4], 2
call fcn.00410b48
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 3
call fcn.00404e5d
lea ecx, [ebp - 0x66c]
mov byte [ebp - 4], 5
call fcn.00410d9a
push ecx
lea eax, [ebp - 0x780]
push eax
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x748]
call fcn.0041a2c2
test al, al
je 0x41814c
lea ecx, [ebp - 0x780]
call fcn.0041cc3c
test al, al
jne 0x41814c
mov esi, 0x4a2a51
lea ecx, [ebp - 0x770]
push esi
call fcn.0041c4e5
mov edx, 0x27b7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x128]
call fcn.00410941
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x7d0]
push eax
lea ecx, [ebp - 0x780]
call fcn.0041cf91
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.0041c742
push edi
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 9
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebx + 0xc]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push 0
push edi
lea ecx, [ebp - 0xc0]
call fcn.00403790
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 7
call fcn.0041c651
lea ecx, [ebp - 0x128]
call fcn.00410d9a
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 5
call fcn.0041c651
push esi
lea ecx, [ebp - 0x770]
call fcn.0041c4e5
mov edx, 0x27b8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x128]
call fcn.00410941
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x7d0]
push eax
lea ecx, [ebp - 0x780]
call fcn.0041cf91
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.0041c742
push edi
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
call fcn.00410ac8
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebx + 0x40]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
xor ebx, ebx
lea ecx, [ebp - 0xc0]
push 0
inc ebx
push ebx
call fcn.00403790
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 0xc
call fcn.0041c651
lea ecx, [ebp - 0x128]
call fcn.00410d9a
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 5
call fcn.0041c651
push esi
lea ecx, [ebp - 0x770]
call fcn.0041c4e5
mov edx, 0x27b9
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x128]
call fcn.00410941
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 0x11
push ecx
push eax
lea eax, [ebp - 0x758]
push eax
lea ecx, [ebp - 0x780]
call fcn.0041cf91
lea ecx, [ebp - 0x128]
call fcn.00410d9a
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 0x14
call fcn.0041c651
lea ecx, [ebp - 0x758]
xor edi, edi
call fcn.0041cbf6
test eax, eax
je 0x418138
mov dword [ebp - 0x788], 0x68
lea ecx, [ebp - 0x5d0]
call fcn.0041817e
push esi
lea ecx, [ebp - 0x930]
mov byte [ebp - 4], 0x15
call fcn.0041c4e5
mov edx, 0x27cc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x6a0]
call fcn.00410941
lea ecx, [ebp - 0x930]
mov byte [ebp - 4], 0x17
push ecx
push eax
lea eax, [ebp - 0x798]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x6a0]
call fcn.00410d9a
lea ecx, [ebp - 0x930]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
lea ecx, [ebp - 0x798]
xor esi, esi
call fcn.0041cbf6
test eax, eax
je 0x416de8
lea ecx, [ebp - 0x278]
call fcn.00410aa2
lea ecx, [ebp - 0x244]
call fcn.00410aa2
lea ecx, [ebp - 0x210]
call fcn.00410aa2
lea ecx, [ebp - 0x1dc]
call fcn.00410aa2
push 0x4a2a51
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 0x1b
call fcn.0041c4e5
mov edx, 0x27cd
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 0x1d
push ecx
push eax
lea eax, [ebp - 0xa80]
push eax
push ecx
push esi
lea ecx, [ebp - 0x798]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1f
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x278]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa80]
mov byte [ebp - 4], 0x1d
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 0x1b
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x940]
call fcn.0041c4e5
mov edx, 0x27ce
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xf4]
call fcn.00410941
lea ecx, [ebp - 0x940]
mov byte [ebp - 4], 0x22
push ecx
push eax
lea eax, [ebp - 0xac0]
push eax
push ecx
push esi
lea ecx, [ebp - 0x798]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x23
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x24
call fcn.00410ac8
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.00411020
push eax
lea ecx, [ebp - 0x244]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x22
call fcn.0041c651
lea ecx, [ebp - 0xf4]
call fcn.00410d9a
lea ecx, [ebp - 0x940]
mov byte [ebp - 4], 0x1b
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x860]
call fcn.0041c4e5
mov edx, 0x27cf
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 0x27
push ecx
push eax
lea eax, [ebp - 0x9e0]
push eax
push ecx
push esi
lea ecx, [ebp - 0x798]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x28
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x29
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x210]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x9e0]
mov byte [ebp - 4], 0x27
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 0x1b
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x900]
call fcn.0041c4e5
mov edx, 0x27d0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x900]
mov byte [ebp - 4], 0x2c
push ecx
push eax
lea eax, [ebp - 0x9a0]
push eax
push ecx
push esi
lea ecx, [ebp - 0x798]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2d
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x2e
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0x2c
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x900]
mov byte [ebp - 4], 0x1b
call fcn.0041c651
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x5d0]
call fcn.0040db74
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x1a
call fcn.00405ac7
lea ecx, [ebp - 0x798]
inc esi
call fcn.0041cbf6
cmp esi, eax
jb 0x416a97
push 0x4a2a51
lea ecx, [ebp - 0x880]
call fcn.0041c4e5
mov edx, 0x27ba
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 0x31
push ecx
push eax
lea eax, [ebp - 0xa00]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x33
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x5c4]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
xor esi, esi
lea ecx, [ebp - 0x28]
push esi
push ebx
call fcn.00403790
lea ecx, [ebp - 0xa00]
mov byte [ebp - 4], 0x31
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x980]
call fcn.0041c4e5
mov edx, 0x27bb
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x980]
mov byte [ebp - 4], 0x36
push ecx
push eax
lea eax, [ebp - 0xb00]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x37
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x38
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x590]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xb00]
mov byte [ebp - 4], 0x36
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x980]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x8a0]
call fcn.0041c4e5
mov edx, 0x27bc
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xf4]
call fcn.00410941
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], 0x3b
push ecx
push eax
lea eax, [ebp - 0xa20]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3c
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x3d
call fcn.00410ac8
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x3e
call fcn.00411020
push eax
lea ecx, [ebp - 0x55c]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa20]
mov byte [ebp - 4], 0x3b
call fcn.0041c651
lea ecx, [ebp - 0xf4]
call fcn.00410d9a
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x920]
call fcn.0041c4e5
mov edx, 0x27bd
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x920]
mov byte [ebp - 4], 0x40
push ecx
push eax
lea eax, [ebp - 0xaa0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x42
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x528]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xaa0]
mov byte [ebp - 4], 0x40
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x920]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x8c0]
call fcn.0041c4e5
mov edx, 0x27be
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 0x45
push ecx
push eax
lea eax, [ebp - 0xa40]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x47
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa40]
mov byte [ebp - 4], 0x45
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x7f0]
call fcn.0041c4e5
mov edx, 0x27bf
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0x4a
push ecx
push eax
lea eax, [ebp - 0xae0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4b
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x4c
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [ebp - 0x4c0]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xae0]
mov byte [ebp - 4], 0x4a
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x810]
call fcn.0041c4e5
mov edx, 0x283e
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0x4f
push ecx
push eax
lea eax, [ebp - 0xa60]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x50
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x51
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [ebp - 0x48c]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x4f
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x830]
call fcn.0041c4e5
mov edx, 0x27c0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x830]
mov byte [ebp - 4], 0x54
push ecx
push eax
lea eax, [ebp - 0x9b0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x56
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [ebp - 0x458]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x9b0]
mov byte [ebp - 4], 0x54
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x830]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x850]
call fcn.0041c4e5
mov edx, 0x27c1
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], 0x59
push ecx
push eax
lea eax, [ebp - 0x9d0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x5a
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x5b
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [ebp - 0x424]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0x59
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x870]
call fcn.0041c4e5
mov edx, 0x27c2
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x5e
push ecx
push eax
lea eax, [ebp - 0x9f0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x5f
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x60
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x61
push eax
lea ecx, [ebp - 0x3f0]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x9f0]
mov byte [ebp - 4], 0x5e
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x890]
call fcn.0041c4e5
mov edx, 0x27c3
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0xf4]
call fcn.00410941
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 0x63
push ecx
push eax
lea eax, [ebp - 0xa10]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x65
call fcn.00410ac8
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.00411020
push eax
lea ecx, [ebp - 0x3bc]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa10]
mov byte [ebp - 4], 0x63
call fcn.0041c651
lea ecx, [ebp - 0xf4]
call fcn.00410d9a
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x8b0]
call fcn.0041c4e5
mov edx, 0x27c4
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x638]
call fcn.00410941
push 0x68
pop ecx
mov byte [ebp - 4], cl
lea ecx, [ebp - 0x8b0]
push ecx
push eax
lea eax, [ebp - 0x770]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x638]
call fcn.00410d9a
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 0x6b
call fcn.0041c651
lea ecx, [ebp - 0x770]
mov ebx, esi
call fcn.0041cbf6
test eax, eax
je 0x4178f7
lea ecx, [ebp - 0x2e0]
call fcn.00410aa2
lea ecx, [ebp - 0x2ac]
call fcn.00410aa2
push 0x4a2a51
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x6c
call fcn.0041c4e5
mov edx, 0x27c5
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x90]
call fcn.00410941
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x6e
push ecx
push eax
lea eax, [ebp - 0xa30]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x770]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x6f
push ecx
mov ecx, eax
call fcn.0041c742
xor esi, esi
mov byte [ebp - 4], 0x70
inc esi
lea ecx, [ebp - 0x5c]
push esi
push eax
call fcn.00410ac8
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00410db6
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
push 0
push esi
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa30]
mov byte [ebp - 4], 0x6e
call fcn.0041c651
lea ecx, [ebp - 0x90]
call fcn.00410d9a
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x6c
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x8f0]
call fcn.0041c4e5
mov edx, 0x27c6
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0xf4]
call fcn.00410941
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 0x73
push ecx
push eax
lea eax, [ebp - 0xa50]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x770]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x74
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x75
call fcn.00410ac8
push esi
mov ecx, eax
mov byte [ebp - 4], 0x76
call fcn.00411020
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push 0
push esi
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa50]
mov byte [ebp - 4], 0x73
call fcn.0041c651
lea ecx, [ebp - 0xf4]
call fcn.00410d9a
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 0x6c
call fcn.0041c651
mov esi, dword [ebp - 0x384]
lea eax, [ebp - 0x2e0]
cmp eax, esi
jae 0x417867
mov ecx, dword [ebp - 0x388]
cmp ecx, eax
ja 0x417867
sub eax, ecx
cdq
idiv dword [ebp - 0x788]
mov dword [ebp - 0x75c], eax
cmp esi, dword [ebp - 0x380]
jne 0x417844
push ecx
lea ecx, [ebp - 0x388]
call fcn.0040e4e5
mov esi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x75c]
imul eax, eax, 0x68
mov dword [ebp - 0x75c], esi
mov dword [ebp - 0x79c], esi
add eax, ecx
mov byte [ebp - 4], 0x77
test esi, esi
je 0x4178bc
push eax
mov ecx, esi
call fcn.0040f37a
jmp 0x4178b6
cmp esi, dword [ebp - 0x380]
jne 0x417881
push ecx
lea ecx, [ebp - 0x388]
call fcn.0040e4e5
mov esi, dword [ebp - 0x384]
mov dword [ebp - 0x79c], esi
mov dword [ebp - 0x75c], esi
mov byte [ebp - 4], 0x78
test esi, esi
je 0x4178bc
lea eax, [ebp - 0x2e0]
mov ecx, esi
push eax
call fcn.00410d60
lea eax, [ebp - 0x2ac]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [esi + 0x34]
call fcn.00410d60
mov esi, dword [ebp - 0x384]
push 0x68
pop eax
add esi, eax
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x384], esi
call fcn.00410d9a
lea ecx, [ebp - 0x2e0]
call fcn.00410d9a
lea ecx, [ebp - 0x770]
inc ebx
call fcn.0041cbf6
cmp ebx, eax
jb 0x41765c
xor esi, esi
push 0x4a2a51
lea ecx, [ebp - 0x910]
call fcn.0041c4e5
mov edx, 0x27c7
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x604]
call fcn.00410941
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x7b
push ecx
push eax
lea eax, [ebp - 0x7b0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x604]
call fcn.00410d9a
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x7e
call fcn.0041c651
lea ecx, [ebp - 0x7b0]
mov ebx, esi
call fcn.0041cbf6
test eax, eax
je 0x417cc6
push 0x4a2a51
lea ecx, [ebp - 0x7e0]
call fcn.0041c4e5
mov edx, 0x27c8
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x5c]
call fcn.00410941
lea ecx, [ebp - 0x7e0]
mov byte [ebp - 4], 0x80
push ecx
push eax
lea eax, [ebp - 0xa70]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x7b0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x81
push ecx
mov ecx, eax
call fcn.0041c742
xor esi, esi
mov byte [ebp - 4], 0x82
inc esi
lea ecx, [ebp - 0x90]
push esi
push eax
call fcn.00410ac8
push 0
push esi
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xa70]
mov byte [ebp - 4], 0x85
call fcn.0041c651
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
lea ecx, [ebp - 0x7e0]
mov byte [ebp - 4], 0x87
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x950]
call fcn.0041c4e5
mov edx, 0x27ca
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x15c]
call fcn.00410941
lea ecx, [ebp - 0x950]
mov byte [ebp - 4], 0x89
push ecx
push eax
lea eax, [ebp - 0xa90]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x7b0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x8a
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x8b
call fcn.00410ac8
push esi
mov ecx, eax
mov byte [ebp - 4], 0x8c
call fcn.00411020
push eax
lea ecx, [ebp - 0xf4]
call fcn.00410d60
lea ecx, [ebp - 0x32c]
call fcn.00410d9a
push 0
push esi
lea ecx, [ebp - 0xa8]
call fcn.00403790
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0x90
call fcn.0041c651
lea ecx, [ebp - 0x15c]
call fcn.00410d9a
lea ecx, [ebp - 0x950]
mov byte [ebp - 4], 0x92
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x970]
call fcn.0041c4e5
mov edx, 0x27c9
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x1a8]
call fcn.00410941
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 0x94
push ecx
push eax
lea eax, [ebp - 0xab0]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x7b0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x95
push ecx
mov ecx, eax
call fcn.0041c742
push esi
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x96
call fcn.00410ac8
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x97
call fcn.00421799
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.00410d9a
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00403790
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0xab0]
call fcn.0041c651
lea ecx, [ebp - 0x1a8]
call fcn.00410d9a
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 0x92
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x990]
call fcn.0041c4e5
mov edx, 0x27cb
mov byte [ebp - 4], 0x98
lea ecx, [ebp - 0x5c]
call fcn.00410941
lea ecx, [ebp - 0x990]
mov byte [ebp - 4], 0x99
push ecx
push eax
lea eax, [ebp - 0xad0]
push eax
push ecx
push ebx
lea ecx, [ebp - 0x7b0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x9a
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x9b
call fcn.00410ac8
push 1
mov ecx, eax
mov byte [ebp - 4], 0x9c
call fcn.00411020
push eax
lea ecx, [ebp - 0x360]
call fcn.00410d60
lea ecx, [ebp - 0x1a8]
call fcn.00410d9a
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0xad0]
mov byte [ebp - 4], 0xa0
call fcn.0041c651
lea ecx, [ebp - 0x5c]
call fcn.00410d9a
lea ecx, [ebp - 0x990]
mov byte [ebp - 4], 0xa2
call fcn.0041c651
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0xf4]
push eax
push 0
push esi
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x250]
call fcn.00402f14
mov byte [ebp - 4], 0xa3
push eax
lea ecx, [ebp - 0x37c]
call fcn.00419542
lea ecx, [ebp - 0x250]
call fcn.00402f61
lea ecx, [ebp - 0x360]
call fcn.00410d9a
lea ecx, [ebp - 0xf4]
call fcn.00410d9a
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x7e
call fcn.00410d9a
lea ecx, [ebp - 0x7b0]
inc ebx
call fcn.0041cbf6
cmp ebx, eax
jb 0x417972
xor esi, esi
push 0x4a2a51
lea ecx, [ebp - 0x800]
call fcn.0041c4e5
mov edx, 0x283f
mov byte [ebp - 4], 0xa4
lea ecx, [ebp - 0x1a8]
call fcn.00410941
lea ecx, [ebp - 0x800]
mov byte [ebp - 4], 0xa5
push ecx
push eax
lea eax, [ebp - 0x7c0]
push eax
push ecx
push edi
lea ecx, [ebp - 0x758]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x1a8]
call fcn.00410d9a
lea ecx, [ebp - 0x800]
mov byte [ebp - 4], 0xa8
call fcn.0041c651
lea ecx, [ebp - 0x7c0]
call fcn.0041cbf6
xor ebx, ebx
inc ebx
test eax, eax
je 0x4180c6
lea ecx, [ebp - 0x278]
call fcn.00410aa2
lea ecx, [ebp - 0x244]
call fcn.00410aa2
lea ecx, [ebp - 0x210]
call fcn.00410aa2
lea ecx, [ebp - 0x1dc]
call fcn.00410aa2
push 0x4a2a51
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0xa9
call fcn.0041c4e5
mov edx, 0x2840
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x15c]
call fcn.00410941
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0xab
push ecx
push eax
lea eax, [ebp - 0xaf0]
push eax
push ecx
push esi
lea ecx, [ebp - 0x7c0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xac
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xad
call fcn.00410ac8
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xae
push eax
lea ecx, [ebp - 0x278]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0xa8]
call fcn.00403790
lea ecx, [ebp - 0xaf0]
mov byte [ebp - 4], 0xab
call fcn.0041c651
lea ecx, [ebp - 0x15c]
call fcn.00410d9a
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0xa9
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x820]
call fcn.0041c4e5
mov edx, 0x2841
mov byte [ebp - 4], 0xaf
lea ecx, [ebp - 0x32c]
call fcn.00410941
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0xb0
push ecx
push eax
lea eax, [ebp - 0xb10]
push eax
push ecx
push esi
lea ecx, [ebp - 0x7c0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xb1
push ecx
mov ecx, eax
call fcn.0041c742
push 2
push eax
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xb2
call fcn.00410ac8
push ebx
mov ecx, eax
mov byte [ebp - 4], 0xb3
call fcn.00411020
push eax
lea ecx, [ebp - 0x244]
call fcn.00410db6
lea ecx, [ebp - 0x15c]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0xa8]
call fcn.00403790
lea ecx, [ebp - 0xb10]
mov byte [ebp - 4], 0xb0
call fcn.0041c651
lea ecx, [ebp - 0x32c]
call fcn.00410d9a
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0xa9
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x8e0]
call fcn.0041c4e5
mov edx, 0x2842
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x15c]
call fcn.00410941
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 0xb5
push ecx
push eax
lea eax, [ebp - 0x9c0]
push eax
push ecx
push esi
lea ecx, [ebp - 0x7c0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xb6
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xb7
call fcn.00410ac8
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xb8
push eax
lea ecx, [ebp - 0x210]
call fcn.00410db6
lea ecx, [ebp - 0x90]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0xa8]
call fcn.00403790
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0xb5
call fcn.0041c651
lea ecx, [ebp - 0x15c]
call fcn.00410d9a
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 0xa9
call fcn.0041c651
push 0x4a2a51
lea ecx, [ebp - 0x7d0]
call fcn.0041c4e5
mov edx, 0x2843
mov byte [ebp - 4], 0xb9
lea ecx, [ebp - 0x6d4]
call fcn.00410941
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 0xba
push ecx
push eax
lea eax, [ebp - 0xb8]
push eax
push ecx
push esi
lea ecx, [ebp - 0x7c0]
call fcn.0041cc60
pop ecx
mov ecx, eax
call fcn.0041cf91
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0xbb
push ecx
mov ecx, eax
call fcn.0041c742
push ebx
push eax
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0xbc
call fcn.00410ac8
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xbd
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00410db6
lea ecx, [ebp - 0x128]
call fcn.00410d9a
push 0
push ebx
lea ecx, [ebp - 0x2f8]
call fcn.00403790
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xba
call fcn.0041c651
lea ecx, [ebp - 0x6d4]
call fcn.00410d9a
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 0xa9
call fcn.0041c651
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x370]
call fcn.0040db74
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0xa8
call fcn.00405ac7
lea ecx, [ebp - 0x7c0]
inc esi
call fcn.0041cbf6
cmp esi, eax
jb 0x417d42
mov ecx, dword [ebp - 0x784]
lea eax, [ebp - 0x5d0]
push eax
call fcn.004195d3
lea ecx, [ebp - 0x7c0]
mov byte [ebp - 4], 0x7e
call fcn.0041c651
lea ecx, [ebp - 0x7b0]
mov byte [ebp - 4], 0x6b
call fcn.0041c651
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 0x1a
call fcn.0041c651
lea ecx, [ebp - 0x798]
mov byte [ebp - 4], 0x15
call fcn.0041c651
lea ecx, [ebp - 0x5d0]
call fcn.00405aed
lea ecx, [ebp - 0x758]
inc edi
call fcn.0041cbf6
mov esi, 0x4a2a51
cmp edi, eax
jb 0x416a11
lea ecx, [ebp - 0x758]
mov byte [ebp - 4], 5
call fcn.0041c651
xor edi, edi
inc edi
jmp 0x41814e
xor bl, bl
push 0
push edi
lea ecx, [ebp - 0x174]
call fcn.00403790
lea ecx, [ebp - 0x748]
call fcn.00415633
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x780]
call fcn.0041c651
mov al, bl
call fcn.0046d6e0
ret