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

Disassembly:
push 0x7a8
mov eax, 0x4953e0
call fcn.00493da1
mov ebx, ecx
mov dword [ebp - 0x5f8], ebx
mov dword [ebp - 0x5e4], ebx
and dword [ebp - 0x5ec], 0
mov dword [ebp - 0x634], ebx
push 3
pop eax
mov dword [ebp - 4], eax
mov esi, 0x4aa5a0
push esi
lea ecx, [ebp - 0x440]
call fcn.00407563
mov byte [ebp - 4], 4
mov ecx, 0x4aa5b0
call fcn.0040892d
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x458]
call fcn.0040eb15
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x20]
push ecx
mov edx, eax
lea ecx, [ebp - 0x4a0]
call fcn.0040ec27
pop ecx
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x458]
push 0
push 1
call fcn.004076bc
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x474], 7
mov dword [ebp - 0x478], ecx
mov word [ebp - 0x488], ax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x218]
push 0x208
push ecx
mov edi, ecx
mov dword [ebp - 0x5e0], ecx
push eax
mov dword [ebp - 0x5e8], edi
call fcn.00479680
add esp, 0xc
lea ecx, [ebp - 0x4a0]
cmp dword [ebp - 0x48c], 8
cmovae ecx, dword [ebp - 0x4a0]
call fcn.00474cf4
test al, al
jne 0x40ad0b
push esi
mov ecx, ebx
call fcn.00407563
xor eax, eax
inc eax
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 7
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x488]
call fcn.004076bc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4a0]
push esi
push 1
call fcn.004076bc
push 3
pop ecx
mov byte [ebp - 4], cl
jmp 0x40bf97
push 0x104
lea ecx, [ebp - 0x218]
call fcn.004752bc
pop ecx
lea edx, [ebp - 0x218]
call fcn.00474ba5
test eax, eax
je 0x40bf5b
cmp dword [ebp - 0x48c], 8
lea ecx, [ebp - 0x4a0]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x4a0]
call fcn.00475c36
test al, al
je 0x40bf5b
lea eax, [ebp - 0x218]
push eax
call fcn.00405a38
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x488]
call fcn.00407713
mov ecx, 0x4aa5b0
call fcn.0040892d
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x458]
call fcn.0040eb15
mov esi, eax
mov byte [ebp - 4], 9
mov ecx, 0x4aa630
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x4e8]
call fcn.004082a5
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x458]
call fcn.004076bc
push 0x104
lea ecx, [ebp - 0x218]
call fcn.004752bc
pop ecx
lea edx, [ebp - 0x218]
call fcn.00474ba5
test eax, eax
je 0x40b14d
cmp dword [ebp - 0x4d4], 8
lea ecx, [ebp - 0x4e8]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x4e8]
call fcn.00475c36
test al, al
je 0x40b14d
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp - 0x67c]
call fcn.0040d56d
mov edi, eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x218]
push eax
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x664]
call fcn.0040eb15
mov esi, eax
mov byte [ebp - 4], 0xd
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x64c]
call fcn.004082a5
mov byte [ebp - 4], 0xe
mov edx, eax
push edi
lea ecx, [ebp - 0x6ac]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0xf
mov ecx, 0x4aa690
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x694]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x10
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x470]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x11
mov ecx, 0x4aa5c0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x458]
call fcn.004082a5
add esp, 0x18
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x11
xor esi, esi
push ebx
inc esi
lea ecx, [ebp - 0x458]
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x470]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x694]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6ac]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x64c]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x664]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x67c]
push ebx
push esi
call fcn.004076bc
lea eax, [ebp - 0x218]
mov dword [ebp - 0x5e0], ebx
push eax
lea edx, [ebp - 0x5e0]
lea ecx, [ebp - 0x5e8]
call fcn.00409d84
pop ecx
test eax, eax
je 0x40b13b
lea edx, [ebp - 0x218]
call fcn.00474ba5
test eax, eax
je 0x40b13b
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x470]
call fcn.00407563
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x470]
cmp dword [ebp - 0x45c], 8
mov ebx, dword [ebp - 0x5e0]
mov edi, dword [ebp - 0x5e8]
mov edx, edi
cmovae ecx, dword [ebp - 0x470]
push ebx
mov dword [ebp - 0x5e0], ebx
call fcn.00474da9
pop ecx
test al, al
je 0x40b126
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp - 0x6c4]
call fcn.0040d56d
mov edi, eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x470]
push eax
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x458]
call fcn.0040eb84
mov esi, eax
mov byte [ebp - 4], 0x15
mov ebx, 0x4aa5e0
mov ecx, ebx
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x694]
call fcn.004082a5
mov byte [ebp - 4], 0x16
mov edx, eax
push edi
lea ecx, [ebp - 0x6ac]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0x17
mov ecx, 0x4aa6c0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x64c]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x18
mov ecx, ebx
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x664]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x19
mov ecx, 0x4aa5c0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x67c]
call fcn.004082a5
add esp, 0x18
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x19
xor ebx, ebx
xor esi, esi
lea ecx, [ebp - 0x67c]
push ebx
inc esi
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x664]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x64c]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x16
push ebx
push esi
lea ecx, [ebp - 0x6ac]
call fcn.004076bc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x694]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x458]
push ebx
push esi
call fcn.004076bc
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x6c4]
push ebx
push esi
call fcn.004076bc
mov edi, dword [ebp - 0x5e8]
jmp 0x40b128
xor ebx, ebx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x470]
push ebx
push esi
call fcn.004076bc
jmp 0x40b14d
mov eax, dword [ebp - 0x5e0]
mov edi, dword [ebp - 0x5e8]
mov dword [ebp - 0x5e0], eax
push 0xb8
lea eax, [ebp - 0x5d8]
push ebx
push eax
call fcn.00479680
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0040d68a
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x5d8]
push ecx
mov word [ebp - 0x424], 1
lea ecx, [ebp - 0x4d0]
push dword [ebp - 0x424]
mov eax, dword [eax + 4]
push ebx
mov eax, dword [ebp + eax - 0x5a0]
test eax, eax
sete byte [ebp - 0x5fc]
push dword [ebp - 0x5fc]
push eax
call fcn.0040eccd
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x520]
push 0x38
push ebx
push eax
call fcn.00479680
lea ecx, [ebp - 0x520]
call fcn.0040d380
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x4d0]
cmp dword [ebp - 0x4bc], 0x10
lea ecx, [ebp - 0x520]
cmovae eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x428]
push eax
call fcn.0040f6bd
push str.Fcn_i
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x5dc], 1
call fcn.0040768d
mov byte [ebp - 4], 0x1e
mov ebx, 0x4aa654
push ebx
lea ecx, [ebp - 0x520]
call fcn.0040d413
test al, al
je 0x40b8e9
mov esi, 0x4aa65c
lea ecx, [ebp - 0x520]
push esi
push ebx
call fcn.0040ecfc
mov ecx, eax
call fcn.0040d413
test al, al
je 0x40b8e9
push esi
push ebx
lea ecx, [ebp - 0x520]
call fcn.0040ecfc
mov ecx, eax
call fcn.0040ecfc
push 3
pop ecx
cmp word [eax + 0xe], cx
jne 0x40b8e9
push esi
push ebx
lea ecx, [ebp - 0x520]
call fcn.0040ecfc
mov ecx, eax
call fcn.0040ecfc
push 0x4aa65c
push ebx
lea ecx, [ebp - 0x520]
mov esi, dword [eax + 8]
call fcn.0040ecfc
mov ecx, eax
call fcn.0040ecfc
mov ecx, dword [eax + 8]
mov eax, dword [eax]
shl eax, 5
add eax, ecx
cmp esi, eax
setne al
test al, al
je 0x40b8e9
lea ebx, [esi + 8]
mov dword [ebp - 0x5f0], ebx
mov si, word [ebx + 6]
mov eax, 0x1000
and si, ax
lea eax, [ebx - 8]
jne 0x40b2e0
mov eax, dword [ebx]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0040d595
test eax, eax
je 0x40b8aa
test si, si
lea esi, [ebx - 8]
jne 0x40b2fe
mov esi, dword [ebx]
push esi
call fcn.00405aa3
pop ecx
push eax
push esi
lea ecx, [ebp - 0x4b8]
call fcn.004077e1
cmp dword [ebp - 0x4a4], 0x10
lea ecx, [ebp - 0x4b8]
mov eax, dword [ebp - 0x4a8]
cmovae ecx, dword [ebp - 0x4b8]
add eax, ecx
cmp dword [ebp - 0x4a4], 0x10
lea ecx, [ebp - 0x4b8]
cmovae ecx, dword [ebp - 0x4b8]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x67c]
call fcn.0040ed81
mov esi, eax
mov byte [ebp - 4], 0x1f
mov ecx, 0x4aa5b0
call fcn.0040892d
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x6c4]
call fcn.0040eb15
mov byte [ebp - 4], 0x20
mov edx, eax
push esi
lea ecx, [ebp - 0x458]
call fcn.0040ec65
pop ecx
pop ecx
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x6c4]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x67c]
push 0
push 1
call fcn.004076bc
mov esi, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5e4], esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x24
mov ecx, 0x4aa6f0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x25
mov ecx, 0x4aa720
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x26
mov ecx, 0x4aa740
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
lea edx, [ebp - 0x458]
push eax
call fcn.0040eb15
pop ecx
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x23
mov edx, esi
lea ecx, [ebp - 0x64c]
call fcn.00409feb
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x664]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x664]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x64c]
push 0
push 1
call fcn.004076bc
mov esi, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x2a
mov ecx, 0x4aa760
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x2b
mov ecx, 0x4aa780
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x2c
sub esp, 0x18
lea eax, [ebp - 0x458]
mov dword [ebp - 0x5e4], esp
mov ecx, esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x23
mov edx, esi
lea ecx, [ebp - 0x694]
call fcn.00409feb
mov byte [ebp - 4], 0x2e
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x440]
call fcn.0040d4d9
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x6ac]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x694]
push 0
push 1
call fcn.004076bc
mov esi, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x30
mov ecx, 0x4aa7b0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x31
mov ecx, 0x4aa7e0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x32
sub esp, 0x18
lea eax, [ebp - 0x458]
mov dword [ebp - 0x5e4], esp
mov ecx, esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x23
mov edx, esi
lea ecx, [ebp - 0x7b4]
call fcn.00409feb
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x79c]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x79c]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x7b4]
push 0
push 1
call fcn.004076bc
mov esi, dword [ebp - 0x5e0]
test esi, esi
je 0x40b891
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00479680
add esp, 0xc
lea edx, [ebp - 0x420]
call fcn.00474ba5
test eax, eax
je 0x40bbd7
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x470]
call fcn.00407563
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x470]
cmp dword [ebp - 0x45c], 8
mov edx, edi
push esi
cmovae ecx, dword [ebp - 0x470]
call fcn.00474da9
pop ecx
test al, al
je 0x40b87e
mov edx, dword [ebp - 0x5dc]
lea ecx, [ebp - 0x630]
call fcn.00409c1e
mov ebx, eax
mov byte [ebp - 4], 0x37
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp - 0x618]
call fcn.0040d56d
mov edi, eax
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x470]
push eax
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x784]
call fcn.0040eb84
mov esi, eax
mov byte [ebp - 4], 0x39
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x76c]
call fcn.004082a5
mov byte [ebp - 4], 0x3a
mov edx, eax
push edi
lea ecx, [ebp - 0x754]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0x3b
mov ecx, 0x4aa610
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x73c]
call fcn.004082a5
mov byte [ebp - 4], 0x3c
mov edx, eax
push ebx
lea ecx, [ebp - 0x724]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0x3d
mov ecx, 0x4aa800
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x70c]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x3e
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x6f4]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x3f
mov ecx, 0x4aa5c0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x6dc]
call fcn.004082a5
add esp, 0x20
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x3f
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x6dc]
call fcn.004076bc
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x6f4]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x70c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x724]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x73c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x754]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x76c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x784]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x618]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x630]
push ebx
push 1
call fcn.004076bc
mov ebx, dword [ebp - 0x5f0]
mov edi, dword [ebp - 0x5e8]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x470]
push 0
push 1
call fcn.004076bc
inc dword [ebp - 0x5dc]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x458]
push 0
push 1
call fcn.004076bc
push 0x4aa65c
add ebx, 0x20
lea ecx, [ebp - 0x520]
push 0x4aa654
mov dword [ebp - 0x5f0], ebx
call fcn.0040ecfc
mov ecx, eax
call fcn.0040ecfc
mov ecx, dword [eax + 8]
mov eax, dword [eax]
shl eax, 5
add eax, ecx
lea ecx, [ebx - 8]
cmp ecx, eax
setne al
test al, al
jne 0x40b2cd
mov ebx, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
xor esi, esi
mov dword [ebp - 0x5f0], ebx
inc esi
cmp ebx, esi
cmovg esi, ebx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x41
mov ecx, 0x4aa6f0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x42
mov ecx, 0x4aa720
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x43
sub esp, 0x18
lea eax, [ebp + 8]
mov dword [ebp - 0x5e4], esp
mov ecx, esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x5dc]
lea ecx, [ebp - 0x618]
call fcn.0040a435
mov byte [ebp - 4], 0x45
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x630]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x630]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x618]
push 0
push 1
call fcn.004076bc
cmp esi, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
cmovl esi, dword [ebp - 0x5dc]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
mov dword [ebp - 0x5dc], ebx
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x47
mov ecx, 0x4aa760
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x48
mov ecx, 0x4aa780
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x49
sub esp, 0x18
lea eax, [ebp + 8]
mov dword [ebp - 0x5e4], esp
mov ecx, esp
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x5dc]
lea ecx, [ebp - 0x618]
call fcn.0040a435
mov byte [ebp - 4], 0x4b
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x630]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x630]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x618]
push 0
push 1
call fcn.004076bc
cmp esi, dword [ebp - 0x5dc]
lea eax, [ebp + 0x38]
cmovl esi, dword [ebp - 0x5dc]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x424], esp
mov dword [ebp - 0x5dc], ebx
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x4d
mov ecx, 0x4aa7b0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x4e
mov ecx, 0x4aa7e0
call fcn.0040892d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push eax
call fcn.00407563
mov byte [ebp - 4], 0x4f
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5e4], esp
lea eax, [ebp + 8]
push eax
call fcn.0040d56d
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x5dc]
lea ecx, [ebp - 0x618]
call fcn.0040a435
mov byte [ebp - 4], 0x51
lea edx, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x630]
call fcn.0040ebe9
add esp, 0x64
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x630]
push 0
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x618]
push 0
push 1
call fcn.004076bc
cmp esi, dword [ebp - 0x5dc]
cmovl esi, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e4], esi
mov esi, dword [ebp - 0x5e0]
mov dword [ebp - 0x5dc], ebx
test esi, esi
jne 0x40bf24
mov ecx, dword [ebp - 0x5f8]
lea eax, [ebp - 0x440]
push eax
call fcn.004082eb
jmp 0x40bf45
mov ecx, dword [ebp - 0x5f8]
push 0x4aa5a0
call fcn.00407563
xor eax, eax
inc eax
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 0x1e
xor ebx, ebx
push ebx
push eax
lea ecx, [ebp - 0x458]
call fcn.004076bc
mov byte [ebp - 4], 0x1d
push ebx
push 1
lea ecx, [ebp - 0x4b8]
call fcn.0040778c
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x520]
call fcn.0040d312
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x4d0]
push ebx
push 1
call fcn.0040778c
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x568]
call fcn.0040d60b
lea ecx, [ebp - 0x568]
call fcn.0040e1c2
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4e8]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x488]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4a0]
push ebx
push 1
call fcn.004076bc
push 3
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x440]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 2
lea ecx, [ebp + 8]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x20]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x38]
push ebx
push 1
call fcn.004076bc
mov eax, dword [ebp - 0x5f8]
jmp 0x40bfd5
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00479680
add esp, 0xc
lea edx, [ebp - 0x420]
call fcn.00474ba5
test eax, eax
je 0x40bf35
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x458]
call fcn.00407563
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x458]
cmp dword [ebp - 0x444], 8
mov edx, edi
push esi
cmovae ecx, dword [ebp - 0x458]
call fcn.00474da9
pop ecx
test al, al
je 0x40bf0a
mov edx, ebx
lea ecx, [ebp - 0x6dc]
call fcn.00409c1e
mov ebx, eax
mov byte [ebp - 4], 0x54
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp - 0x6f4]
call fcn.0040d56d
mov edi, eax
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x458]
push eax
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x70c]
call fcn.0040eb84
mov esi, eax
mov byte [ebp - 4], 0x56
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x724]
call fcn.004082a5
mov byte [ebp - 4], 0x57
mov edx, eax
push edi
lea ecx, [ebp - 0x73c]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0x58
mov ecx, 0x4aa610
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x754]
call fcn.004082a5
mov byte [ebp - 4], 0x59
mov edx, eax
push ebx
lea ecx, [ebp - 0x76c]
call fcn.0040ec65
mov esi, eax
mov byte [ebp - 4], 0x5a
mov ecx, 0x4aa800
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x784]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x5b
mov ecx, 0x4aa5e0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x618]
call fcn.004082a5
mov esi, eax
mov byte [ebp - 4], 0x5c
mov ecx, 0x4aa5c0
call fcn.0040892d
push eax
mov edx, esi
lea ecx, [ebp - 0x630]
call fcn.004082a5
add esp, 0x20
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x440]
push eax
call fcn.0040d4d9
mov byte [ebp - 4], 0x5c
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x630]
call fcn.004076bc
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x618]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x784]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x76c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x754]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x73c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x724]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x70c]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x6f4]
push ebx
push 1
call fcn.004076bc
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x6dc]
push ebx
push 1
call fcn.004076bc
mov ebx, dword [ebp - 0x5f0]
mov edi, dword [ebp - 0x5e8]
mov esi, dword [ebp - 0x5e0]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x458]
push 0
push 1
call fcn.004076bc
inc ebx
mov dword [ebp - 0x5f0], ebx
cmp ebx, dword [ebp - 0x5e4]
jl 0x40bcd1
jmp 0x40bbc0
mov ecx, dword [ebp - 0x5f8]
push 0x4aa5a0
call fcn.00407563
xor eax, eax
inc eax
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 0x1d
xor ebx, ebx
push ebx
push eax
jmp 0x40bc0a
push esi
mov ecx, ebx
call fcn.00407563
xor eax, eax
inc eax
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 7
xor esi, esi
push esi
lea ecx, [ebp - 0x488]
push eax
call fcn.004076bc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4a0]
push esi
push 1
call fcn.004076bc
push 3
pop eax
mov byte [ebp - 4], al
push esi
push 1
lea ecx, [ebp - 0x440]
call fcn.004076bc
mov byte [ebp - 4], 2
lea ecx, [ebp + 8]
push esi
push 1
call fcn.004076bc
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x20]
push esi
push 1
call fcn.004076bc
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x38]
push 0
push 1
call fcn.004076bc
mov eax, ebx
call fcn.00493d4b
ret