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

Disassembly:
push 0x48c
mov eax, 0x48b9ba
call fcn.0046e6b1
mov edi, edx
mov dword [ebp - 0x424], edi
mov esi, ecx
and dword [ebp - 0x3f0], 0xfffffe00
and dword [ebp - 0x3ec], 0
xor ebx, ebx
lea ecx, [ebp - 0x320]
inc ebx
mov dword [ebp - 4], ebx
call fcn.0041aba3
push 2
pop eax
push ecx
push esi
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], al
call fcn.004110b0
push eax
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 3
call fcn.00404e6b
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 5
call fcn.00411302
push ecx
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x320]
call fcn.0041abe9
test al, al
je 0x416d43
lea ecx, [ebp - 0x3f8]
call fcn.0041d563
test al, al
jne 0x416d43
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 9
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [edi + 0xa8]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
xor esi, esi
lea ecx, [ebp - 0x28]
push esi
push ebx
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 7
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x279f
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
call fcn.00411030
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0xdc]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0xc
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a5
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xf4]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x11
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x12
push ecx
mov ecx, eax
call fcn.0041d069
push 2
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x13
call fcn.00411030
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00411588
push eax
lea ecx, [edi + 0x214]
call fcn.0041131e
lea ecx, [ebp - 0x90]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x11
call fcn.0041cf78
lea ecx, [ebp - 0xf4]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a2
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x16
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x18
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [edi + 0x178]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x16
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a3
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x1b
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1d
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [edi + 0x1ac]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x1b
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a4
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x20
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x21
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x22
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [edi + 0x1e0]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x20
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27a1
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x25
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x26
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x5c]
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [edi + 0x110]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x25
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x279d
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x2a
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x2c
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [edi + 0x144]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x2a
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x279b
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x90]
call fcn.00410ea9
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x3d8]
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x30
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x31
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [edi + 0x248]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x2f
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x279c
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x34
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x35
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x36
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [edi + 0x27c]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x3e8]
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3d8]
call fcn.0041ce0c
mov edx, 0x27ac
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x39
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3a
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x3b
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x2b0]
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x39
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x410]
call fcn.0041ce0c
mov edx, 0x27ad
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x278]
call fcn.00410ea9
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x3e
push ecx
push eax
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x278]
call fcn.00411302
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
lea ecx, [ebp - 0x3d8]
call fcn.0041d51d
test eax, eax
je 0x41674c
lea eax, [edi + 0xc]
mov dword [ebp - 0x428], eax
lea ebx, [edi + 0x40]
lea eax, [edi + 0x74]
mov edi, dword [ebp - 0x428]
mov dword [ebp - 0x3fc], eax
push 0x4a3a69
lea ecx, [ebp - 0x410]
call fcn.0041ce0c
mov edx, 0x27ae
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x43
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3d8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x44
push ecx
mov ecx, eax
call fcn.0041d069
xor ecx, ecx
mov byte [ebp - 4], 0x45
inc ecx
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x46
push eax
mov ecx, ebx
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0x28]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x43
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x438]
call fcn.0041ce0c
mov edx, 0x27b0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x48
push ecx
push eax
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x3d8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x49
push ecx
mov ecx, eax
call fcn.0041d069
xor ecx, ecx
mov byte [ebp - 4], 0x4a
inc ecx
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00411030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x4b
push eax
mov ecx, edi
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0x28]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x48
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x420]
call fcn.0041ce0c
mov edx, 0x27af
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x90]
call fcn.00410ea9
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x4d
push ecx
push eax
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x3d8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, eax
call fcn.0041d069
xor ecx, ecx
mov byte [ebp - 4], 0x4f
inc ecx
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00411030
mov ecx, dword [ebp - 0x3fc]
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x50
call fcn.0041131e
lea ecx, [ebp - 0x5c]
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0x28]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x4d
call fcn.0041cf78
lea ecx, [ebp - 0x90]
call fcn.00411302
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
lea ecx, [ebp - 0x3d8]
inc esi
call fcn.0041d51d
cmp esi, eax
jb 0x41651b
mov edi, dword [ebp - 0x424]
xor ebx, ebx
inc ebx
mov esi, 0x4a3a69
lea ecx, [ebp - 0x420]
push esi
call fcn.0041ce0c
mov edx, 0x279e
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0xf4]
call fcn.00410ea9
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x52
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x53
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x54
call fcn.00411030
mov edx, 0x2748
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x90]
call fcn.00410ea9
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.00412277
lea ecx, [ebp - 0x90]
mov bl, al
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0x5c]
push 1
test bl, bl
pop ebx
cmovne eax, ebx
mov dword [edi + 0x2e4], eax
call fcn.00411302
push 0
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403790
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x52
call fcn.0041cf78
lea ecx, [ebp - 0xf4]
call fcn.00411302
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
push esi
lea ecx, [ebp - 0x420]
call fcn.0041ce0c
mov edx, 0x27a6
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x2ac]
call fcn.00410ea9
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x57
push ecx
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0041d8b8
lea ecx, [ebp - 0x2ac]
call fcn.00411302
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x5a
call fcn.0041cf78
lea ecx, [ebp - 0x410]
xor edi, edi
call fcn.0041d51d
test eax, eax
je 0x416d23
push esi
lea ecx, [ebp - 0x420]
call fcn.0041ce0c
mov edx, 0x27a7
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x174]
call fcn.00410ea9
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x5c
push ecx
push eax
lea eax, [ebp - 0x478]
push eax
push ecx
push edi
lea ecx, [ebp - 0x410]
call fcn.0041d69c
pop ecx
mov ecx, eax
call fcn.0041d8b8
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x5d
push ecx
mov ecx, eax
call fcn.0041d069
push ebx
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x5e
call fcn.00411030
push 0
push ebx
lea ecx, [ebp - 0xc0]
call fcn.00403790
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x61
call fcn.0041cf78
lea ecx, [ebp - 0x174]
call fcn.00411302
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x63
call fcn.0041cf78
push esi
lea ecx, [ebp - 0x438]
call fcn.0041ce0c
mov edx, 0x27a8
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x140]
call fcn.00410ea9
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x65
push ecx
push eax
lea eax, [ebp - 0x498]
push eax
push ecx
push edi
lea ecx, [ebp - 0x410]
call fcn.0041d69c
pop ecx
mov ecx, eax
call fcn.0041d8b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x66
push ecx
mov ecx, eax
call fcn.0041d069
mov byte [ebp - 4], 0x67
push ebx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00411030
mov edx, 0x27f8
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x1a8]
call fcn.00410ea9
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.00412277
lea ecx, [ebp - 0x1a8]
mov bl, al
call fcn.00411302
test bl, bl
je 0x4169d0
xor esi, esi
inc esi
mov ebx, esi
jmp 0x416a0c
mov edx, 0x27f9
lea ecx, [ebp - 0x1dc]
call fcn.00410ea9
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.00412277
lea ecx, [ebp - 0x1dc]
mov bl, al
call fcn.00411302
xor eax, eax
test bl, bl
push 2
pop ecx
cmovne eax, ecx
xor esi, esi
mov dword [ebp - 0x3fc], eax
mov ebx, eax
inc esi
lea ecx, [ebp - 0x5c]
call fcn.00411302
push 0
push esi
lea ecx, [ebp - 0xa8]
call fcn.00403790
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x65
call fcn.0041cf78
lea ecx, [ebp - 0x140]
call fcn.00411302
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x63
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x448]
call fcn.0041ce0c
mov edx, 0x27a9
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x140]
call fcn.00410ea9
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x6a
push ecx
push eax
lea eax, [ebp - 0x488]
push eax
push ecx
push edi
lea ecx, [ebp - 0x410]
call fcn.0041d69c
pop ecx
mov ecx, eax
call fcn.0041d8b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x6b
push ecx
mov ecx, eax
call fcn.0041d069
push esi
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x6c
call fcn.00411030
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x6d
call fcn.004220c0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0xa8]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0x6a
call fcn.0041cf78
lea ecx, [ebp - 0x140]
call fcn.00411302
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x63
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x458]
call fcn.0041ce0c
mov edx, 0x27aa
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x1dc]
call fcn.00410ea9
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x6f
push ecx
push eax
lea eax, [ebp - 0x468]
push eax
push ecx
push edi
lea ecx, [ebp - 0x410]
call fcn.0041d69c
pop ecx
mov ecx, eax
call fcn.0041d8b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x70
push ecx
mov ecx, eax
call fcn.0041d069
push 2
pop ecx
push ecx
push eax
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x71
call fcn.00411030
xor ecx, ecx
mov byte [ebp - 4], 0x72
inc ecx
push ecx
mov ecx, eax
call fcn.00411588
push eax
lea ecx, [ebp - 0xf4]
call fcn.004112c8
lea ecx, [ebp - 0x140]
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0xa8]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x76
call fcn.0041cf78
lea ecx, [ebp - 0x1dc]
call fcn.00411302
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x78
call fcn.0041cf78
push 0x4a3a69
lea ecx, [ebp - 0x3e8]
call fcn.0041ce0c
mov edx, 0x27ab
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x174]
call fcn.00410ea9
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x7a
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
push ecx
push edi
lea ecx, [ebp - 0x410]
call fcn.0041d69c
pop ecx
mov ecx, eax
call fcn.0041d8b8
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, eax
call fcn.0041d069
push 2
pop ecx
push ecx
push eax
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x7c
call fcn.00411030
xor ecx, ecx
mov byte [ebp - 4], 0x7d
inc ecx
push ecx
mov ecx, eax
call fcn.00411588
push eax
lea ecx, [ebp - 0x210]
call fcn.004112c8
lea ecx, [ebp - 0x1a8]
call fcn.00411302
xor eax, eax
lea ecx, [ebp - 0xc0]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x81
call fcn.0041cf78
lea ecx, [ebp - 0x174]
call fcn.00411302
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x83
call fcn.0041cf78
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0xf4]
push eax
push ebx
push esi
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00402f14
mov ecx, dword [ebp - 0x424]
push eax
mov byte [ebp - 4], 0x84
call fcn.00419cca
lea ecx, [ebp - 0x3c8]
call fcn.00402f61
lea ecx, [ebp - 0x210]
call fcn.00411302
lea ecx, [ebp - 0xf4]
call fcn.00411302
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x5a
call fcn.00411302
lea ecx, [ebp - 0x410]
inc edi
call fcn.0041d51d
mov esi, 0x4a3a69
push 1
pop ebx
cmp edi, eax
jb 0x416890
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x41
call fcn.0041cf78
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 5
call fcn.0041cf78
jmp 0x416d65
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x320]
call fcn.0041be1b
push 0
push ebx
lea ecx, [ebp - 0xa8]
call fcn.00403790
xor bl, bl
xor eax, eax
lea ecx, [ebp - 0x10c]
push 0
inc eax
push eax
call fcn.00403790
lea ecx, [ebp - 0x320]
call fcn.00415c33
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3f8]
call fcn.0041cf78
mov al, bl
call fcn.0046e660
ret