Function at 0x491a70
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a0ffa
mov eax, dword fs:[0]
push eax
sub esp, 0x820
mov eax, dword [0x4c70c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x770], edx
mov esi, ecx
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x82c], 0x4b55e0
mov dword [ebp - 0x81c], 0x4b5580
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x798], 0
mov dword [ebp - 0x794], 0
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
push ecx
lea eax, [ebp - 0x814]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x750], 4
call fcn.00407800
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x82c]
push 3
push esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x82c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x830], eax
lea ecx, [ebp - 0x814]
call fcn.0042ad00
xor eax, eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], al
push ecx
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x440]
call fcn.00414be0
lea ecx, [ebp - 0x298]
call fcn.00406700
xor eax, eax
mov dword [ebp - 0x90], 7
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov eax, dword [str.windows]
mov dword [ebp - 0xa0], eax
mov ax, word [0x4b1d3c]
mov word [ebp - 0x9c], ax
mov al, byte [0x4b1d3e]
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0x9a], al
mov byte [ebp - 0x99], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 7
mov dword [eax], 2
lea eax, [ebp - 0xa0]
push eax
push ecx
lea ecx, [ebp - 0x440]
call fcn.00414f30
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x491c69
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x491c5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x492f91
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp dword [ebp - 0x410], 1
jne 0x491c95
mov eax, dword [ebp - 0x40c]
jmp 0x491cac
push 1
lea ecx, [ebp - 0x440]
call fcn.0047dc60
mov dword [ebp - 0x410], 1
test eax, eax
jne 0x492e24
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [str.window]
mov dword [ebp - 0xe8], eax
mov ax, word [0x4b1d48]
mov dword [ebp - 0xd8], 6
mov dword [ebp - 0xd4], 0xf
mov word [ebp - 0xe4], ax
mov byte [ebp - 0xe2], 0
xor eax, eax
mov dword [ebp - 0x1c0], 0xf
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 0x1d4], al
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 9
call fcn.0047d700
test eax, eax
jne 0x4930ad
mov ecx, dword [ebp - 0x3a4]
mov esi, ecx
cmp dword [esi + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x491d53
mov ecx, dword [ecx]
lea eax, [ebp - 0x1d4]
push 0
push eax
call fcn.0040d8d0
add esp, 8
test al, al
je 0x4930ad
cmp dword [esi + 0x2c], 0x10
lea ecx, [esi + 0x18]
mov edx, dword [ecx + 0x10]
lea eax, [ebp - 0xe8]
jb 0x491d80
mov ecx, dword [ecx]
push 6
push eax
call fcn.0040d8d0
add esp, 8
test al, al
je 0x4930ad
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x440]
push 2
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
call fcn.004150a0
mov byte [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], 7
mov word [ebp - 0x280], ax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], 7
mov word [ebp - 0x268], ax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], 7
mov word [ebp - 0x1f0], ax
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x280]
call fcn.0048f210
xor eax, eax
mov byte [ebp - 0x1d8], 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov ax, word [0x4b1d40]
mov word [ebp - 0xb8], ax
mov al, byte [0x4b1d42]
mov dword [ebp - 0xa8], 3
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb6], al
mov byte [ebp - 0xb5], 0
xor eax, eax
mov dword [ebp - 0x32c], 0xf
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], eax
mov byte [ebp - 0x340], al
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x328]
call fcn.00406840
xor eax, eax
mov dword [ebp - 0x2fc], 0xf
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x300], eax
mov byte [ebp - 0x310], al
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x440]
call fcn.0042e810
lea ecx, [ebp - 0x340]
mov esi, eax
call fcn.00414e50
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x74c], esi
cmp ecx, 0x10
jb 0x49200d
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x492003
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
jmp 0x492030
cmp dword [ebp - 0x410], 1
jne 0x492041
mov eax, dword [ebp - 0x40c]
jmp 0x492058
push 1
lea ecx, [ebp - 0x440]
call fcn.0047dc60
mov dword [ebp - 0x410], 1
test eax, eax
jne 0x492aab
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [0x4b1d5c]
mov dword [ebp - 0xd0], eax
mov ax, word [0x4b1d60]
mov word [ebp - 0xcc], ax
mov al, byte [0x4b1d62]
mov dword [ebp - 0xc0], 7
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xca], al
mov byte [ebp - 0xc9], 0
xor eax, eax
mov dword [ebp - 0x1a8], 0xf
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 0x1bc], al
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0x15
call fcn.0047d700
test eax, eax
jne 0x492ff7
mov ecx, dword [ebp - 0x3a4]
mov esi, ecx
cmp dword [esi + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x49210a
mov ecx, dword [ecx]
lea eax, [ebp - 0x1bc]
push 0
push eax
call fcn.0040d8d0
add esp, 8
test al, al
je 0x492ff7
cmp dword [esi + 0x2c], 0x10
lea ecx, [esi + 0x18]
mov edx, dword [ecx + 0x10]
lea eax, [ebp - 0xd0]
jb 0x492137
mov ecx, dword [ecx]
push 7
push eax
call fcn.0040d8d0
add esp, 8
test al, al
je 0x492ff7
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x440]
push 1
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
call fcn.004150a0
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], 7
mov word [ebp - 0x1a4], ax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], 7
mov word [ebp - 0x18c], ax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], 7
mov word [ebp - 0x148], ax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], 7
mov word [ebp - 0x130], ax
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0048f210
mov dword [ebp - 0x38], 0x24
xor edx, edx
mov byte [ebp - 0x34], 0x47
mov byte [ebp - 0x33], 0x48
mov byte [ebp - 0x32], 0x4d
mov byte [ebp - 0x31], 0x47
mov byte [ebp - 0x30], 0x4f
mov byte [ebp - 0x2f], 0x41
mov byte [ebp - 0x2e], 0x56
mov byte [ebp - 0x2d], 0x7b
mov byte [ebp - 0x2c], 0x47
mov byte [ebp - 0x2b], 0x48
mov byte [ebp - 0x2a], 0x45
mov byte [ebp - 0x29], 0x57
mov byte [ebp - 0x28], 0x57
mov al, byte [ebp - 0x34]
mov byte [ebp - 0x27], 0
lea ecx, [ecx]
mov al, byte [ebp + edx - 0x34]
mov ecx, dword [ebp - 0x38]
xor cl, al
mov byte [ebp + edx - 0x34], cl
inc edx
cmp edx, 0xd
jb 0x4922b0
xor eax, eax
mov byte [ebp - 0x27], 0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4922f3
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00409810
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x440]
call fcn.004157b0
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0x10
jb 0x492363
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x492359
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
cmp ecx, 0x10
jb 0x4923bc
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4923b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
mov byte [ebp - 0x24], 0x6a
mov byte [ebp - 0x23], 0x73
mov byte [ebp - 0x22], 0x70
mov byte [ebp - 0x21], 0x6a
mov byte [ebp - 0x20], 0x72
mov byte [ebp - 0x1f], 0x6c
mov byte [ebp - 0x1e], 0x79
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x7b
mov byte [ebp - 0x1b], 0x80
mov byte [ebp - 0x1a], 0x77
mov byte [ebp - 0x19], 0x6c
mov byte [ebp - 0x18], 0
mov al, byte [ebp - 0x24]
xor eax, eax
mov cl, byte [ebp + eax - 0x24]
sub cl, 7
mov byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 0xc
jb 0x492410
xor eax, eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x118], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x492450
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.00409810
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x440]
call fcn.004157b0
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0x10
jb 0x4924c0
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4924b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], 0
cmp ecx, 0x10
jb 0x492519
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49250f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x108], 0
push eax
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x104], 0xf
push eax
mov byte [ebp - 0x118], 0
call fcn.004615c0
mov esi, eax
lea eax, [ebp - 0x130]
cmp eax, esi
je 0x4925df
mov ecx, dword [ebp - 0x11c]
cmp ecx, 8
jb 0x492597
mov edx, dword [ebp - 0x130]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49258d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x492f96
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov eax, dword [esi]
mov dword [ebp - 0x130], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x124], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x120], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x11c], eax
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 8
jb 0x49261f
mov edx, dword [ebp - 0x2e0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x492615
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x492f96
push ecx
push edx
call fcn.00435dd2
add esp, 8
xor eax, eax
mov dword [ebp - 0x2d0], 0
lea edx, [ebp - 0x1a4]
mov dword [ebp - 0x2cc], 7
lea ecx, [ebp - 0x2f8]
mov word [ebp - 0x2e0], ax
call fcn.00490800
mov esi, eax
lea eax, [ebp - 0x148]
cmp eax, esi
je 0x4926aa
mov ecx, eax
call fcn.0040aed0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x13c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x134], eax
xor eax, eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x138], ebx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
jmp 0x4926b0
mov ebx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 8
jb 0x4926f0
mov edx, dword [ebp - 0x2f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4926e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x492f9b
push ecx
push edx
call fcn.00435dd2
add esp, 8
xor eax, eax
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 7
mov word [ebp - 0x2f8], ax
cmp dword [ebp - 0x14c], eax
je 0x492799
mov eax, dword [ebp - 0x158]
shr eax, 0x1b
not al
test al, 1
je 0x492799
mov edi, dword [ebp - 0x194]
test edi, edi
jne 0x492746
mov edx, 0x4b164c
lea ecx, [ebp - 0x148]
call fcn.00425060
test al, al
je 0x49279f
cmp dword [ebp - 0x17c], 0
je 0x49279f
test ebx, ebx
je 0x49279f
mov edx, dword [ebp - 0x16c]
lea ecx, [ebp - 0x458]
call fcn.00461450
mov ebx, dword [ebp - 0x750]
mov ecx, 0x4cb650
push eax
lea eax, [ebp - 0x76c]
or ebx, 1
push eax
mov dword [ebp - 0x750], ebx
call fcn.00424ff0
mov eax, dword [eax]
cmp eax, dword [0x4cb650]
jne 0x4927a5
xor al, al
mov byte [ebp - 0x741], al
jmp 0x4927ac
mov edi, dword [ebp - 0x194]
mov ebx, dword [ebp - 0x750]
mov byte [ebp - 0x741], 1
test bl, 1
je 0x4927c5
and ebx, 0xfffffffe
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x750], ebx
call fcn.0040aed0
mov al, byte [ebp - 0x741]
neg al
sbb al, al
and byte [ebp - 0x1d8], al
test edi, edi
je 0x492997
mov eax, SysReAllocString
sub eax, edi
cmp eax, 1
jb 0x492fa0
cmp dword [ebp - 0x190], 8
lea edx, [ebp - 0x1a4]
mov dword [ebp - 0x754], edx
jb 0x49280e
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x754], eax
xor eax, eax
lea ecx, [edi + 1]
mov dword [ebp - 0x88], eax
mov esi, 7
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x748], eax
cmp ecx, esi
jbe 0x49287c
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x492854
mov esi, SysReAllocString
jmp 0x49285e
cmp esi, 0xa
jae 0x49285e
mov esi, 0xa
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x88]
call fcn.0040cad0
mov dword [ebp - 0x748], eax
lea ecx, [edi + 1]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x74], esi
lea esi, [edi + edi]
push esi
push dword [ebp - 0x754]
mov dword [ebp - 0x78], ecx
push eax
call fcn.00437600
mov eax, dword [ebp - 0x748]
mov ecx, 0xa
or ebx, 2
add esp, 0xc
mov dword [ebp - 0x750], ebx
mov word [eax + esi], cx
xor ecx, ecx
mov word [eax + edi*2 + 2], cx
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x88]
mov edi, dword [ebp - 0x74]
cmp edi, 8
jb 0x4928cc
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x1dc]
mov eax, ecx
mov ebx, dword [ebp - 0x1e0]
sub eax, ebx
mov esi, dword [ebp - 0x78]
cmp esi, eax
ja 0x49292b
lea eax, [esi + ebx]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x748], eax
cmp ecx, 8
jb 0x492909
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x748], eax
lea ecx, [eax + ebx*2]
lea eax, [esi + esi]
push eax
push edx
push ecx
call fcn.00437600
mov ecx, dword [ebp - 0x748]
lea eax, [esi + ebx]
add esp, 0xc
xor edx, edx
mov word [ecx + eax*2], dx
jmp 0x492942
push esi
push edx
push dword [ebp - 0x76c]
lea ecx, [ebp - 0x1f0]
push esi
call fcn.00414640
mov edi, dword [ebp - 0x74]
mov byte [ebp - 4], 0x1c
cmp edi, 8
jb 0x492980
mov edx, dword [ebp - 0x88]
lea ecx, [edi*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x492976
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
mov ecx, dword [ebp - 0x220]
lea eax, [ebp - 0x1a4]
push eax
cmp ecx, dword [ebp - 0x21c]
je 0x4929bd
call fcn.0042f6a0
add dword [ebp - 0x220], 0x8c
jmp 0x4929c9
push ecx
lea ecx, [ebp - 0x224]
call fcn.0042f000
lea ecx, [ebp - 0x440]
call fcn.0047d700
cmp eax, 1
jne 0x492fa5
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x11c]
cmp ecx, 8
jb 0x492a21
mov edx, dword [ebp - 0x130]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x492a17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
mov ecx, dword [ebp - 0x134]
xor eax, eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 7
mov word [ebp - 0x130], ax
cmp ecx, 8
jb 0x492a7e
mov edx, dword [ebp - 0x148]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x492a74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edx
call fcn.00435dd2
add esp, 8
xor eax, eax
mov dword [ebp - 0x138], 0
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x134], 7
mov word [ebp - 0x148], ax
call fcn.004151a0
jmp 0x492030
cmp dword [ebp - 0x228], 0
je 0x492acb
mov eax, dword [ebp - 0x234]
shr eax, 0x1b
not al
test al, 1
je 0x492acb
mov bl, byte [ebp - 0x1d8]
jmp 0x492ad3
mov bl, 1
mov byte [ebp - 0x1d8], bl
mov edx, dword [ebp - 0x74c]
movzx eax, dl
xor eax, 0x811c9dc5
mov edi, dword [ebp - 0x770]
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x74a]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x749]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
push eax
lea eax, [ebp - 0x74c]
push eax
lea eax, [ebp - 0x77c]
push eax
call fcn.0041ec10
mov eax, dword [eax + 4]
test eax, eax
jne 0x492b36
mov eax, dword [edi + 4]
cmp eax, dword [edi + 4]
jne 0x492c94
mov dword [ebp - 0x764], 0
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x75c], 0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x764]
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x768], eax
lea eax, [ebp - 0x280]
push eax
push 0
mov byte [ebp - 0x758], bl
call fcn.0042eb40
lea eax, [ebp - 0x74c]
mov ecx, edi
push eax
call fcn.0041a0b0
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x754], eax
lea esi, [eax + 4]
mov dword [eax], ecx
lea eax, [ebp - 0x764]
cmp esi, eax
je 0x492beb
mov ecx, esi
call fcn.0041fb30
mov eax, dword [ebp - 0x764]
xor edi, edi
mov dword [esi], eax
xor ebx, ebx
mov eax, dword [ebp - 0x760]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x75c]
mov dword [esi + 8], eax
xor eax, eax
mov dword [ebp - 0x764], edi
mov dword [ebp - 0x760], ebx
mov dword [ebp - 0x75c], eax
jmp 0x492bfd
mov eax, dword [ebp - 0x75c]
mov ebx, dword [ebp - 0x760]
mov edi, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x748], eax
mov al, byte [ebp - 0x758]
mov byte [ebp - 4], 0x10
mov byte [ecx + 0x10], al
test edi, edi
je 0x492ce1
mov esi, edi
cmp esi, ebx
je 0x492c35
mov ecx, esi
call fcn.0041fd10
add esi, 0xac
cmp esi, ebx
jne 0x492c24
mov eax, dword [ebp - 0x748]
sub eax, edi
sar eax, 2
imul eax, eax, 0x2fa0be83
imul ecx, eax, 0xac
mov eax, edi
cmp ecx, 0x1000
jb 0x492c6a
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push edi
call fcn.00435dd2
add esp, 8
mov dword [ebp - 0x764], 0
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x75c], 0
jmp 0x492ce1
test bl, bl
jne 0x492ca9
lea eax, [ebp - 0x74c]
mov ecx, edi
push eax
call fcn.0041a0b0
mov byte [eax + 0x10], bl
lea eax, [ebp - 0x74c]
mov ecx, edi
push eax
call fcn.0041a0b0
lea ecx, [ebp - 0x280]
push ecx
lea esi, [eax + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x492cd9
mov ecx, eax
call fcn.0042f440
add dword [esi + 4], 0xac
jmp 0x492ce1
push eax
mov ecx, esi
call fcn.0042eb40
push 1
lea ecx, [ebp - 0x440]
call fcn.0047e000
mov eax, dword [ebp - 0x1dc]
cmp eax, 8
jb 0x492d0c
inc eax
lea ecx, [ebp - 0x1f0]
push eax
push dword [ebp - 0x1f0]
call fcn.0040b340
xor eax, eax
mov dword [ebp - 0x1e0], 0
mov word [ebp - 0x1f0], ax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1dc], 7
cmp eax, 8
jb 0x492d47
inc eax
lea ecx, [ebp - 0x208]
push eax
push dword [ebp - 0x208]
call fcn.0040b340
xor eax, eax
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x20c]
test ecx, ecx
je 0x492d78
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 6
call fcn.00420020
mov esi, dword [ebp - 0x224]
test esi, esi
je 0x492e14
mov edi, dword [ebp - 0x220]
cmp esi, edi
je 0x492db7
nop
mov ecx, esi
call fcn.00420300
add esi, 0x8c
cmp esi, edi
jne 0x492da0
mov esi, dword [ebp - 0x224]
mov eax, dword [ebp - 0x21c]
sub eax, esi
sar eax, 2
imul eax, eax, 0x8af8af8b
imul ecx, eax, 0x8c
mov eax, esi
cmp ecx, 0x1000
jb 0x492dec
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4930a8
push ecx
push esi
call fcn.00435dd2
add esp, 8
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
lea ecx, [ebp - 0x280]
call fcn.004151a0
jmp 0x491c84
push 1
lea ecx, [ebp - 0x440]
call fcn.0047e000
lea ecx, [ebp - 0x440]
call fcn.0047e210
lea ecx, [ebp - 0x82c]
call fcn.00405840
mov al, 1
jmp 0x492f75
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00435b39
mov esp, ebp
pop ebp
ret
call fcn.0043f67c
call fcn.0043f67c
call fcn.0043f67c
call fcn.00404920
push dword [0x4aea48]
lea ecx, [ebp - 0x4d0]
call fcn.00406800
push 0x4ae8b0
mov edx, eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x4e8]
call fcn.004280d0
add esp, 4
push eax
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x6b0]
call fcn.0047dab0
push 0x4c3af8
lea eax, [ebp - 0x6b0]
push eax
call fcn.0043757b
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.004278c0
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0x16
push ecx
mov ecx, eax
call fcn.0047e350
mov esi, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x518]
push dword [0x4aea44]
call fcn.00406800
push 0x4ae8c8
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x530]
call fcn.004280d0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x548]
call fcn.00428400
add esp, 4
push str._expected
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x560]
call fcn.004280d0
add esp, 4
push eax
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x5e0]
call fcn.0047dab0
push 0x4c3af8
lea eax, [ebp - 0x5e0]
push eax
call fcn.0043757b
call fcn.0043f67c
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x740]
call fcn.004278c0
lea ecx, [ebp - 0x578]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.0047e350
mov esi, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x470]
push dword [0x4aea44]
call fcn.00406800
push 0x4ae8c8
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x488]
call fcn.004280d0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4b8]
call fcn.00428400
add esp, 4
push str._expected
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4a0]
call fcn.004280d0
add esp, 4
push eax
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x648]
call fcn.0047dab0
push 0x4c3af8
lea eax, [ebp - 0x648]
push eax
call fcn.0043757b
int3