Function at 0x4469a0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x394
push ebx
xor ebx, ebx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x160], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x54], 0x20
mov byte [ebp - 0x50], 0x6f
mov byte [ebp - 0x4f], 0x4c
mov byte [ebp - 0x4e], 0x45
mov byte [ebp - 0x4d], 0x13
mov byte [ebp - 0x4c], 0x12
mov byte [ebp - 0x4b], 0xe
mov byte [ebp - 0x4a], 0x44
push esi
mov byte [ebp - 0x49], 0x4c
xor esi, esi
mov byte [ebp - 0x48], 0x4c
mov al, byte [ebp - 0x50]
push edi
mov byte [ebp - 0x47], bl
nop dword [eax]
mov dl, byte [ebp + esi - 0x50]
mov eax, dword [ebp - 0x54]
movsx ecx, al
movsx eax, dl
xor ecx, eax
mov byte [ebp + esi - 0x50], cl
inc esi
cmp esi, 9
jb 0x446a30
mov eax, dword [0x4f3810]
mov byte [ebp - 0x47], bl
test eax, eax
jne 0x446a5f
call fcn.00411870
mov dword [0x4f3810], eax
mov ecx, dword [0x4f3798]
test ecx, ecx
jne 0x446a78
mov ecx, eax
call fcn.00411f00
mov ecx, eax
mov dword [0x4f3798], ecx
lea eax, [ebp - 0x50]
push eax
call ecx
mov edi, eax
test edi, edi
je 0x448a75
mov dword [ebp - 0x44], 0x1a
xor esi, esi
mov byte [ebp - 0x40], 0x59
mov byte [ebp - 0x3f], 0x75
mov byte [ebp - 0x3e], 0x53
mov byte [ebp - 0x3d], 0x74
mov byte [ebp - 0x3c], 0x73
mov byte [ebp - 0x3b], 0x6e
mov byte [ebp - 0x3a], 0x73
mov byte [ebp - 0x39], 0x7b
mov byte [ebp - 0x38], 0x76
mov byte [ebp - 0x37], 0x73
mov byte [ebp - 0x36], 0x60
mov byte [ebp - 0x35], 0x7f
mov byte [ebp - 0x34], 0x5f
mov byte [ebp - 0x33], 0x62
mov al, byte [ebp - 0x40]
mov byte [ebp - 0x32], bl
nop
mov dl, byte [ebp + esi - 0x40]
mov eax, dword [ebp - 0x44]
movsx ecx, al
movsx eax, dl
xor ecx, eax
mov byte [ebp + esi - 0x40], cl
inc esi
cmp esi, 0xe
jb 0x446ad0
mov eax, dword [0x4f3810]
mov byte [ebp - 0x32], bl
test eax, eax
jne 0x446aff
call fcn.00411870
mov dword [0x4f3810], eax
mov ecx, dword [0x4f37bc]
test ecx, ecx
jne 0x446b18
mov ecx, eax
call fcn.00411fd0
mov ecx, eax
mov dword [0x4f37bc], ecx
lea eax, [ebp - 0x40]
push eax
push edi
call ecx
mov esi, eax
test esi, esi
je 0x448a75
mov byte [ebp - 0x27], 0x44
xor ecx, ecx
mov byte [ebp - 0x26], 0x70
mov byte [ebp - 0x25], 0x56
mov byte [ebp - 0x24], 0x6f
mov byte [ebp - 0x23], 0x6a
mov byte [ebp - 0x22], 0x6f
mov byte [ebp - 0x21], 0x6a
mov byte [ebp - 0x20], 0x75
mov byte [ebp - 0x1f], 0x6a
mov byte [ebp - 0x1e], 0x62
mov byte [ebp - 0x1d], 0x6d
mov byte [ebp - 0x1c], 0x6a
mov byte [ebp - 0x1b], 0x7b
mov byte [ebp - 0x1a], 0x66
mov byte [ebp - 0x19], bl
mov al, byte [ebp - 0x27]
nop dword [eax]
mov al, byte [ebp + ecx - 0x27]
movsx eax, al
dec eax
mov byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x446b70
mov eax, dword [0x4f3810]
test eax, eax
jne 0x446b95
call fcn.00411870
mov dword [0x4f3810], eax
mov ecx, dword [0x4f37bc]
test ecx, ecx
jne 0x446bae
mov ecx, eax
call fcn.00411fd0
mov ecx, eax
mov dword [0x4f37bc], ecx
lea eax, [ebp - 0x27]
push eax
push edi
call ecx
mov edi, eax
test edi, edi
je 0x448a75
push 0
push 0
call esi
test eax, eax
js 0x448a75
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x446be0
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f3838]
test ecx, ecx
jne 0x446bf9
mov ecx, eax
call fcn.004124f0
mov ecx, eax
mov dword [0x4f3838], ecx
lea eax, [ebp - 0x310]
push eax
call ecx
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x446c15
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f3838]
test ecx, ecx
jne 0x446c2e
mov ecx, eax
call fcn.004124f0
mov ecx, eax
mov dword [0x4f3838], ecx
lea eax, [ebp - 0x330]
push eax
call ecx
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x446c4a
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f3838]
test ecx, ecx
jne 0x446c63
mov ecx, eax
call fcn.004124f0
mov ecx, eax
mov dword [0x4f3838], ecx
lea eax, [ebp - 0x340]
push eax
call ecx
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x446c7f
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f3838]
test ecx, ecx
jne 0x446c98
mov ecx, eax
call fcn.004124f0
mov ecx, eax
mov dword [0x4f3838], ecx
lea eax, [ebp - 0x320]
push eax
call ecx
mov dword [ebp - 0xcc], 0x30
mov eax, dword [ebp - 0xcc]
xor eax, 0x25
mov word [ebp - 0xc8], ax
mov eax, dword [ebp - 0xcc]
inc eax
xor eax, 0x30
mov word [ebp - 0xc6], ax
mov eax, dword [ebp - 0xcc]
add eax, 2
xor eax, 0x32
mov word [ebp - 0xc4], ax
mov eax, dword [ebp - 0xcc]
add eax, 3
xor eax, 0x58
mov word [ebp - 0xc2], ax
mov eax, dword [ebp - 0xcc]
add eax, 4
xor eax, 0x25
mov word [ebp - 0xc0], ax
mov eax, dword [ebp - 0xcc]
add eax, 5
xor eax, 0x30
mov word [ebp - 0xbe], ax
mov eax, dword [ebp - 0xcc]
add eax, 6
xor eax, 0x32
mov word [ebp - 0xbc], ax
mov eax, dword [ebp - 0xcc]
add eax, 7
xor eax, 0x58
mov word [ebp - 0xba], ax
mov eax, dword [ebp - 0xcc]
add eax, 8
xor eax, 0x25
mov word [ebp - 0xb8], ax
mov eax, dword [ebp - 0xcc]
add eax, 9
xor eax, 0x30
mov word [ebp - 0xb6], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xa
xor eax, 0x32
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xb
xor eax, 0x58
mov word [ebp - 0xb2], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xc
xor eax, 0x25
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xd
xor eax, 0x30
mov word [ebp - 0xae], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xe
xor eax, 0x32
mov word [ebp - 0xac], ax
mov eax, dword [ebp - 0xcc]
add eax, 0xf
xor eax, 0x58
mov word [ebp - 0xaa], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x10
xor eax, 0x25
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x11
xor eax, 0x30
mov word [ebp - 0xa6], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x12
xor eax, 0x32
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x13
xor eax, 0x58
mov word [ebp - 0xa2], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0x9e], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x17
xor eax, 0x58
mov word [ebp - 0x9a], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x18
xor eax, 0x25
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x19
xor eax, 0x30
mov word [ebp - 0x96], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x1a
xor eax, 0x32
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x1b
xor eax, 0x58
mov word [ebp - 0x92], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x1c
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f06]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8e], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f08]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8c], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f0a]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8a], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f0c]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x88], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f0e]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x86], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f10]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x84], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f12]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x82], cx
mov eax, dword [ebp - 0xcc]
add eax, 0x24
movzx ecx, word [0x402f14]
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x80], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f16]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x7e], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f18]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x7c], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f1a]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x7a], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f1c]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x78], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f1e]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x76], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f20]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x74], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f22]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x72], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f24]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x70], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f26]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6e], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f28]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6c], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f2a]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6a], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f2c]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x68], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f2e]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x66], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f30]
add eax, 0x32
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x64], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f32]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x62], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f34]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x60], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f36]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5e], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f38]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5c], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f3a]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5a], cx
mov eax, dword [ebp - 0xcc]
movzx ecx, word [0x402f3c]
add eax, 0x38
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x58], cx
xor edx, edx
mov word [ebp - 0x56], ax
mov ax, word [ebp - 0xc8]
nop word [eax + eax]
mov ax, word [ebp + edx*2 - 0xc8]
mov ecx, dword [ebp - 0xcc]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0xc8], cx
inc edx
cmp edx, 0x39
jb 0x4471b0
xor eax, eax
mov word [ebp - 0x56], ax
mov eax, dword [0x4f37a8]
test eax, eax
jne 0x4471ec
call fcn.00411a80
mov dword [0x4f37a8], eax
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x447205
mov ecx, eax
call fcn.00411b20
mov ecx, eax
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e5501]
push eax
movzx eax, byte [0x4e550c]
push eax
movzx eax, byte [0x4e550a]
push eax
movzx eax, byte [0x4e5508]
push eax
movzx eax, byte [0x4e5506]
push eax
movzx eax, byte [0x4e5504]
push eax
movzx eax, byte [0x4e5502]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x390]
push eax
call ecx
mov ecx, dword [0x4f37ec]
add esp, 0x24
test ecx, ecx
jne 0x447267
call fcn.00412170
mov ecx, eax
mov dword [0x4f37ec], ecx
mov eax, dword [0x4f37f8]
test eax, eax
jne 0x44727a
call fcn.00412210
mov dword [0x4f37f8], eax
lea ecx, [ebp - 0x10]
push ecx
push 0x403308
push 1
push 0
push 0x403328
call eax
test eax, eax
js 0x44899c
mov eax, dword [0x4f37cc]
mov esi, 8
mov word [ebp - 0x310], si
test eax, eax
jne 0x4472b5
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x4472ce
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
push dword [ebp - 0x2fc]
call ecx
mov dword [ebp - 0x308], eax
test eax, eax
je 0x44899c
mov word [ebp - 0x330], si
mov eax, 0x5d
mov dword [ebp - 0x188], esi
mov ecx, 0x7b
mov word [ebp - 0x184], ax
mov eax, 0x6d
mov word [ebp - 0x182], cx
mov word [ebp - 0x180], ax
mov eax, 0x7a
mov word [ebp - 0x17e], ax
movzx eax, word [0x403114]
xor eax, 8
mov word [ebp - 0x17c], cx
mov word [ebp - 0x17a], si
mov word [ebp - 0x178], ax
movzx eax, word [0x403116]
xor eax, 8
mov word [ebp - 0x176], ax
movzx eax, word [0x403118]
xor eax, 8
mov word [ebp - 0x174], ax
movzx eax, word [0x40311a]
xor eax, 8
mov word [ebp - 0x172], ax
movzx eax, word [0x40311c]
xor eax, 8
mov word [ebp - 0x170], ax
xor eax, eax
mov word [ebp - 0x16e], ax
xor edx, edx
mov ax, word [ebp - 0x184]
nop word [eax + eax]
mov ax, word [ebp + edx*2 - 0x184]
movzx ecx, ax
mov eax, dword [ebp - 0x188]
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x184], cx
inc edx
cmp edx, 0xb
jb 0x4473a0
xor eax, eax
mov word [ebp - 0x16e], ax
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x4473e0
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x4473f9
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
lea eax, [ebp - 0x184]
push eax
call ecx
mov dword [ebp - 0x328], eax
test eax, eax
je 0x44899c
mov dword [ebp - 0x30], 0xb
mov eax, dword [ebp - 0x30]
mov word [ebp - 0x2c], ax
xor eax, eax
mov word [ebp - 0x2a], ax
mov ax, word [ebp - 0x2c]
movzx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
xor ecx, eax
xor eax, eax
mov word [ebp - 0x2c], cx
mov ecx, dword [0x4f37cc]
mov word [ebp - 0x2a], ax
test ecx, ecx
jne 0x447452
call fcn.00412450
mov ecx, eax
mov dword [0x4f37cc], ecx
mov eax, dword [0x4f378c]
test eax, eax
jne 0x447465
call fcn.004125c0
mov dword [0x4f378c], eax
lea ecx, [ebp - 0x2c]
push ecx
call eax
mov dword [ebp - 0x318], eax
test eax, eax
je 0x44899c
movups xmm0, xmmword [ebp - 0x340]
mov ecx, dword [ebp - 0x10]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov edx, dword [ecx]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x310]
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x28]
test eax, eax
js 0x44899c
mov eax, 0x65
mov word [ebp - 0x168], ax
mov eax, 9
mov word [ebp - 0x166], ax
movzx eax, word [0x4025c4]
add eax, 9
mov word [ebp - 0x164], ax
xor eax, eax
mov word [ebp - 0x162], ax
xor ecx, ecx
mov ax, word [ebp - 0x168]
nop dword [eax]
nop word [eax + eax]
mov ax, word [ebp + ecx*2 - 0x168]
movzx eax, ax
add eax, 0xfffffff7
mov word [ebp + ecx*2 - 0x168], ax
inc ecx
cmp ecx, 3
jb 0x447500
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x44752f
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x447548
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x168]
push eax
call ecx
push eax
push dword [ebp - 0x10]
call dword [esi + 0x1c]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x18]
push 0
push dword [ebp - 0x308]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 4]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x160]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x44899c
mov dword [ebp - 0x144], 0x11
mov eax, dword [ebp - 0x144]
xor eax, 0x25
mov word [ebp - 0x140], ax
mov eax, dword [ebp - 0x144]
inc eax
xor eax, 0x30
mov word [ebp - 0x13e], ax
mov eax, dword [ebp - 0x144]
add eax, 2
xor eax, 0x32
mov word [ebp - 0x13c], ax
mov eax, dword [ebp - 0x144]
add eax, 3
xor eax, 0x58
mov word [ebp - 0x13a], ax
mov eax, dword [ebp - 0x144]
add eax, 4
xor eax, 0x25
mov word [ebp - 0x138], ax
mov eax, dword [ebp - 0x144]
add eax, 5
xor eax, 0x30
mov word [ebp - 0x136], ax
mov eax, dword [ebp - 0x144]
add eax, 6
xor eax, 0x32
mov word [ebp - 0x134], ax
mov eax, dword [ebp - 0x144]
add eax, 7
xor eax, 0x58
mov word [ebp - 0x132], ax
mov eax, dword [ebp - 0x144]
add eax, 8
xor eax, 0x25
mov word [ebp - 0x130], ax
mov eax, dword [ebp - 0x144]
add eax, 9
xor eax, 0x30
mov word [ebp - 0x12e], ax
mov eax, dword [ebp - 0x144]
add eax, 0xa
xor eax, 0x32
mov word [ebp - 0x12c], ax
mov eax, dword [ebp - 0x144]
add eax, 0xb
xor eax, 0x58
mov word [ebp - 0x12a], ax
mov eax, dword [ebp - 0x144]
add eax, 0xc
xor eax, 0x25
mov word [ebp - 0x128], ax
mov eax, dword [ebp - 0x144]
add eax, 0xd
xor eax, 0x30
mov word [ebp - 0x126], ax
mov eax, dword [ebp - 0x144]
add eax, 0xe
xor eax, 0x32
mov word [ebp - 0x124], ax
mov eax, dword [ebp - 0x144]
add eax, 0xf
xor eax, 0x58
mov word [ebp - 0x122], ax
mov eax, dword [ebp - 0x144]
add eax, 0x10
xor eax, 0x25
mov word [ebp - 0x120], ax
mov eax, dword [ebp - 0x144]
add eax, 0x11
xor eax, 0x30
mov word [ebp - 0x11e], ax
mov eax, dword [ebp - 0x144]
add eax, 0x12
xor eax, 0x32
mov word [ebp - 0x11c], ax
mov eax, dword [ebp - 0x144]
add eax, 0x13
xor eax, 0x58
mov word [ebp - 0x11a], ax
mov eax, dword [ebp - 0x144]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0x118], ax
mov eax, dword [ebp - 0x144]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0x116], ax
mov eax, dword [ebp - 0x144]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0x114], ax
mov eax, dword [ebp - 0x144]
add eax, 0x17
xor eax, 0x58
mov word [ebp - 0x112], ax
mov eax, dword [ebp - 0x144]
add eax, 0x18
xor eax, 0x25
mov word [ebp - 0x110], ax
mov eax, dword [ebp - 0x144]
add eax, 0x19
xor eax, 0x30
mov word [ebp - 0x10e], ax
mov eax, dword [ebp - 0x144]
add eax, 0x1a
xor eax, 0x32
mov word [ebp - 0x10c], ax
mov eax, dword [ebp - 0x144]
add eax, 0x1b
xor eax, 0x58
mov word [ebp - 0x10a], ax
mov eax, dword [ebp - 0x144]
add eax, 0x1c
mov word [ebp - 0x108], ax
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f06]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x106], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f08]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x104], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f0a]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x102], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f0c]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x100], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f0e]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xfe], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f10]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xfc], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f12]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xfa], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f14]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xf8], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f16]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xf6], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f18]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xf4], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f1a]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xf2], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f1c]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xf0], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f1e]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xee], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f20]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xec], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f22]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xea], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f24]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xe8], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f26]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xe6], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f28]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xe4], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f2a]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xe2], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f2c]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xe0], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f2e]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xde], cx
mov eax, dword [ebp - 0x144]
add eax, 0x32
movzx ecx, word [0x402f30]
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xdc], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f32]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xda], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f34]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xd8], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f36]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xd6], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f38]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xd4], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f3a]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xd2], cx
mov eax, dword [ebp - 0x144]
movzx ecx, word [0x402f3c]
add eax, 0x38
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0xd0], cx
xor edx, edx
mov word [ebp - 0xce], ax
mov ax, word [ebp - 0x140]
nop dword [eax]
nop dword [eax + eax]
mov ax, word [ebp + edx*2 - 0x140]
mov ecx, dword [ebp - 0x144]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x140], cx
inc edx
cmp edx, 0x39
jb 0x447b00
xor eax, eax
mov word [ebp - 0xce], ax
mov eax, dword [0x4f37a8]
test eax, eax
jne 0x447b3f
call fcn.00411a80
mov dword [0x4f37a8], eax
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x447b58
mov ecx, eax
call fcn.00411b20
mov ecx, eax
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e5501]
push eax
movzx eax, byte [0x4e550c]
push eax
movzx eax, byte [0x4e550a]
push eax
movzx eax, byte [0x4e5508]
push eax
movzx eax, byte [0x4e5506]
push eax
movzx eax, byte [0x4e5504]
push eax
movzx eax, byte [0x4e5502]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x354]
push eax
call ecx
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x354]
add esp, 0x24
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x44899c
mov edx, 0x2d
mov esi, 0x38
mov word [ebp - 0x284], dx
mov ecx, 0x3a
mov word [ebp - 0x282], si
mov eax, 0x60
mov word [ebp - 0x280], cx
mov word [ebp - 0x27e], ax
mov word [ebp - 0x27c], dx
mov word [ebp - 0x27a], si
mov word [ebp - 0x278], cx
mov word [ebp - 0x276], ax
mov word [ebp - 0x274], dx
mov word [ebp - 0x272], si
mov word [ebp - 0x270], cx
mov word [ebp - 0x26e], ax
mov word [ebp - 0x26c], dx
mov word [ebp - 0x26a], si
mov word [ebp - 0x268], cx
mov word [ebp - 0x266], ax
mov word [ebp - 0x264], dx
mov word [ebp - 0x262], si
mov word [ebp - 0x260], cx
mov word [ebp - 0x25e], ax
mov word [ebp - 0x25c], dx
mov word [ebp - 0x25a], si
mov word [ebp - 0x258], cx
mov word [ebp - 0x256], ax
mov word [ebp - 0x254], dx
mov word [ebp - 0x252], si
mov word [ebp - 0x250], cx
mov word [ebp - 0x24e], ax
mov eax, 8
mov word [ebp - 0x24c], ax
movzx eax, word [0x402f06]
add eax, 8
mov word [ebp - 0x24a], ax
movzx eax, word [0x402f08]
add eax, 8
mov word [ebp - 0x248], ax
movzx eax, word [0x402f0a]
add eax, 8
mov word [ebp - 0x246], ax
movzx eax, word [0x402f0c]
add eax, 8
mov word [ebp - 0x244], ax
movzx eax, word [0x402f0e]
add eax, 8
mov word [ebp - 0x242], ax
movzx eax, word [0x402f10]
add eax, 8
mov word [ebp - 0x240], ax
movzx eax, word [0x402f12]
add eax, 8
mov word [ebp - 0x23e], ax
movzx eax, word [0x402f14]
add eax, 8
mov word [ebp - 0x23c], ax
movzx eax, word [0x402f16]
add eax, 8
mov word [ebp - 0x23a], ax
movzx eax, word [0x402f18]
add eax, 8
mov word [ebp - 0x238], ax
movzx eax, word [0x402f1a]
add eax, 8
mov word [ebp - 0x236], ax
movzx eax, word [0x402f1c]
add eax, 8
mov word [ebp - 0x234], ax
movzx eax, word [0x402f1e]
add eax, 8
mov word [ebp - 0x232], ax
movzx eax, word [0x402f20]
add eax, 8
mov word [ebp - 0x230], ax
movzx eax, word [0x402f22]
add eax, 8
mov word [ebp - 0x22e], ax
movzx eax, word [0x402f24]
add eax, 8
mov word [ebp - 0x22c], ax
movzx eax, word [0x402f26]
add eax, 8
mov word [ebp - 0x22a], ax
movzx eax, word [0x402f28]
add eax, 8
mov word [ebp - 0x228], ax
movzx eax, word [0x402f2a]
add eax, 8
mov word [ebp - 0x226], ax
movzx eax, word [0x402f2c]
add eax, 8
mov word [ebp - 0x224], ax
movzx eax, word [0x402f2e]
add eax, 8
mov word [ebp - 0x222], ax
movzx eax, word [0x402f30]
add eax, 8
mov word [ebp - 0x220], ax
movzx eax, word [0x402f32]
add eax, 8
mov word [ebp - 0x21e], ax
movzx eax, word [0x402f34]
add eax, 8
mov word [ebp - 0x21c], ax
movzx eax, word [0x402f36]
add eax, 8
mov word [ebp - 0x21a], ax
movzx eax, word [0x402f38]
add eax, 8
mov word [ebp - 0x218], ax
movzx eax, word [0x402f3a]
add eax, 8
mov word [ebp - 0x216], ax
movzx eax, word [0x402f3c]
add eax, 8
mov word [ebp - 0x214], ax
xor eax, eax
mov word [ebp - 0x212], ax
xor ecx, ecx
mov ax, word [ebp - 0x284]
nop word [eax + eax]
mov ax, word [ebp + ecx*2 - 0x284]
movzx eax, ax
add eax, 0xfffffff8
mov word [ebp + ecx*2 - 0x284], ax
inc ecx
cmp ecx, 0x39
jb 0x447eb0
mov eax, dword [0x4f37a8]
test eax, eax
jne 0x447edf
call fcn.00411a80
mov dword [0x4f37a8], eax
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x447ef8
mov ecx, eax
call fcn.00411b20
mov ecx, eax
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e5501]
push eax
movzx eax, byte [0x4e550c]
push eax
movzx eax, byte [0x4e550a]
push eax
movzx eax, byte [0x4e5508]
push eax
movzx eax, byte [0x4e5506]
push eax
movzx eax, byte [0x4e5504]
push eax
movzx eax, byte [0x4e5502]
push eax
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x368]
push eax
call ecx
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x368]
add esp, 0x24
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 8]
push 3
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 8]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
js 0x44899c
mov dword [ebp - 0x1a4], 0x2a
mov eax, 0x7f
mov word [ebp - 0x1a0], ax
mov ecx, 0x59
mov word [ebp - 0x19e], cx
mov eax, 0x4f
mov word [ebp - 0x19c], ax
mov eax, 0x58
mov word [ebp - 0x19a], ax
mov eax, 0x2a
mov word [ebp - 0x198], cx
mov word [ebp - 0x196], ax
movzx eax, word [0x403114]
xor eax, 0x2a
mov word [ebp - 0x194], ax
movzx eax, word [0x403116]
xor eax, 0x2a
mov word [ebp - 0x192], ax
movzx eax, word [0x403118]
xor eax, 0x2a
mov word [ebp - 0x190], ax
movzx eax, word [0x40311a]
xor eax, 0x2a
mov word [ebp - 0x18e], ax
movzx eax, word [0x40311c]
xor eax, 0x2a
mov word [ebp - 0x18c], ax
xor eax, eax
mov word [ebp - 0x18a], ax
xor edx, edx
mov ax, word [ebp - 0x1a0]
mov ax, word [ebp + edx*2 - 0x1a0]
movzx ecx, ax
mov eax, dword [ebp - 0x1a4]
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x1a0], cx
inc edx
cmp edx, 0xb
jb 0x448035
xor eax, eax
mov word [ebp - 0x18a], ax
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x448075
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x44808e
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 8]
mov esi, dword [eax]
lea eax, [ebp - 0x1a0]
push eax
call ecx
push eax
push dword [ebp - 8]
call dword [esi + 0x40]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x15c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x15c]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x158]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x158]
lea edx, [ebp - 0x154]
push edx
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x154]
lea edx, [ebp - 0x14]
push edx
push 0x4032e8
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x44899c
mov edx, 0x26
mov ecx, 0x31
mov word [ebp - 0x2f8], dx
mov eax, 0x33
mov word [ebp - 0x2f6], cx
mov esi, 0x59
mov word [ebp - 0x2f4], ax
mov word [ebp - 0x2f2], si
mov word [ebp - 0x2f0], dx
mov word [ebp - 0x2ee], cx
mov word [ebp - 0x2ec], ax
mov word [ebp - 0x2ea], si
mov word [ebp - 0x2e8], dx
mov word [ebp - 0x2e6], cx
mov word [ebp - 0x2e4], ax
mov word [ebp - 0x2e2], si
mov word [ebp - 0x2e0], dx
mov word [ebp - 0x2de], cx
mov word [ebp - 0x2dc], ax
mov word [ebp - 0x2da], si
mov word [ebp - 0x2d8], dx
mov word [ebp - 0x2d6], cx
mov word [ebp - 0x2d4], ax
mov word [ebp - 0x2d2], si
mov word [ebp - 0x2d0], dx
mov word [ebp - 0x2ce], cx
mov word [ebp - 0x2cc], ax
mov word [ebp - 0x2ca], si
mov word [ebp - 0x2c8], dx
mov word [ebp - 0x2c6], cx
mov word [ebp - 0x2c4], ax
mov eax, 1
mov word [ebp - 0x2c2], si
mov word [ebp - 0x2c0], ax
movzx eax, word [0x402f06]
inc eax
mov word [ebp - 0x2be], ax
movzx eax, word [0x402f08]
inc eax
mov word [ebp - 0x2bc], ax
movzx eax, word [0x402f0a]
inc eax
mov word [ebp - 0x2ba], ax
movzx eax, word [0x402f0c]
inc eax
mov word [ebp - 0x2b8], ax
movzx eax, word [0x402f0e]
inc eax
mov word [ebp - 0x2b6], ax
movzx eax, word [0x402f10]
inc eax
mov word [ebp - 0x2b4], ax
movzx eax, word [0x402f12]
inc eax
mov word [ebp - 0x2b2], ax
movzx eax, word [0x402f14]
inc eax
mov word [ebp - 0x2b0], ax
movzx eax, word [0x402f16]
inc eax
mov word [ebp - 0x2ae], ax
movzx eax, word [0x402f18]
inc eax
mov word [ebp - 0x2ac], ax
movzx eax, word [0x402f1a]
inc eax
mov word [ebp - 0x2aa], ax
movzx eax, word [0x402f1c]
inc eax
mov word [ebp - 0x2a8], ax
movzx eax, word [0x402f1e]
inc eax
mov word [ebp - 0x2a6], ax
movzx eax, word [0x402f20]
inc eax
mov word [ebp - 0x2a4], ax
movzx eax, word [0x402f22]
inc eax
mov word [ebp - 0x2a2], ax
movzx eax, word [0x402f24]
inc eax
mov word [ebp - 0x2a0], ax
movzx eax, word [0x402f26]
inc eax
mov word [ebp - 0x29e], ax
movzx eax, word [0x402f28]
inc eax
mov word [ebp - 0x29c], ax
movzx eax, word [0x402f2a]
inc eax
mov word [ebp - 0x29a], ax
movzx eax, word [0x402f2c]
inc eax
mov word [ebp - 0x298], ax
movzx eax, word [0x402f2e]
inc eax
mov word [ebp - 0x296], ax
movzx eax, word [0x402f30]
inc eax
mov word [ebp - 0x294], ax
movzx eax, word [0x402f32]
inc eax
mov word [ebp - 0x292], ax
movzx eax, word [0x402f34]
inc eax
mov word [ebp - 0x290], ax
movzx eax, word [0x402f36]
inc eax
mov word [ebp - 0x28e], ax
movzx eax, word [0x402f38]
inc eax
mov word [ebp - 0x28c], ax
movzx eax, word [0x402f3a]
inc eax
mov word [ebp - 0x28a], ax
movzx eax, word [0x402f3c]
inc eax
mov word [ebp - 0x288], ax
xor eax, eax
mov word [ebp - 0x286], ax
xor ecx, ecx
mov ax, word [ebp - 0x2f8]
mov ax, word [ebp + ecx*2 - 0x2f8]
movzx eax, ax
dec eax
mov word [ebp + ecx*2 - 0x2f8], ax
inc ecx
cmp ecx, 0x39
jb 0x4483c4
mov eax, dword [0x4f37a8]
test eax, eax
jne 0x4483f1
call fcn.00411a80
mov dword [0x4f37a8], eax
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x44840a
mov ecx, eax
call fcn.00411b20
mov ecx, eax
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e5508]
push eax
movzx eax, byte [0x4e550b]
push eax
movzx eax, byte [0x4e5501]
push eax
movzx eax, byte [0x4e5505]
push eax
movzx eax, byte [0x4e5507]
push eax
movzx eax, byte [0x4e5504]
push eax
movzx eax, byte [0x4e5503]
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x37c]
push eax
call ecx
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x37c]
add esp, 0x24
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x44899c
mov eax, 0x58
mov word [ebp - 0x1bc], ax
mov eax, 0x5c
mov word [ebp - 0x1ba], ax
mov eax, 0x3b
mov word [ebp - 0x1b8], ax
mov eax, 0x38
mov word [ebp - 0x1b6], ax
mov eax, 0x5b
mov word [ebp - 0x1b4], ax
mov eax, 8
mov word [ebp - 0x1b2], ax
movzx eax, word [0x403120]
add eax, 8
mov word [ebp - 0x1b0], ax
movzx eax, word [0x403122]
add eax, 8
mov word [ebp - 0x1ae], ax
movzx eax, word [0x403124]
add eax, 8
mov word [ebp - 0x1ac], ax
movzx eax, word [0x403126]
add eax, 8
mov word [ebp - 0x1aa], ax
movzx eax, word [0x403128]
add eax, 8
mov word [ebp - 0x1a8], ax
xor eax, eax
mov word [ebp - 0x1a6], ax
xor ecx, ecx
mov ax, word [ebp - 0x1bc]
nop dword [eax]
mov ax, word [ebp + ecx*2 - 0x1bc]
movzx eax, ax
add eax, 0xfffffff8
mov word [ebp + ecx*2 - 0x1bc], ax
inc ecx
cmp ecx, 0xb
jb 0x448520
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x44854f
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x448568
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
lea eax, [ebp - 0x1bc]
push eax
call ecx
push eax
push dword [ebp - 0x14]
call dword [esi + 0x54]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x150]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x150]
lea edx, [ebp - 0x14c]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
test eax, eax
js 0x44899c
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0xc]
push edx
push 0x403338
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x44899c
mov dword [ebp - 0x210], 0x2c
mov eax, 0x4b
mov word [ebp - 0x20c], ax
mov ecx, 0x59
mov eax, 0x5c
mov word [ebp - 0x20a], ax
mov word [ebp - 0x208], cx
mov ecx, 0x49
mov word [ebp - 0x206], ax
mov eax, 0x48
mov word [ebp - 0x204], ax
mov eax, 0x4d
mov word [ebp - 0x202], ax
mov eax, 0x58
mov word [ebp - 0x200], ax
mov eax, 2
mov word [ebp - 0x1fe], cx
mov word [ebp - 0x1fc], ax
mov eax, 0x54
mov word [ebp - 0x1fa], cx
mov word [ebp - 0x1f8], ax
mov eax, 0x2c
mov word [ebp - 0x1f6], cx
mov word [ebp - 0x1f4], ax
movzx eax, word [0x40313a]
xor eax, 0x2c
mov word [ebp - 0x1f2], ax
movzx eax, word [0x40313c]
xor eax, 0x2c
mov word [ebp - 0x1f0], ax
movzx eax, word [0x40313e]
xor eax, 0x2c
mov word [ebp - 0x1ee], ax
movzx eax, word [0x403140]
xor eax, 0x2c
mov word [ebp - 0x1ec], ax
movzx eax, word [0x403142]
xor eax, 0x2c
mov word [ebp - 0x1ea], ax
movzx eax, word [0x403144]
xor eax, 0x2c
mov word [ebp - 0x1e8], ax
movzx eax, word [0x403146]
xor eax, 0x2c
mov word [ebp - 0x1e6], ax
movzx eax, word [0x403148]
xor eax, 0x2c
mov word [ebp - 0x1e4], ax
movzx eax, word [0x40314a]
xor eax, 0x2c
mov word [ebp - 0x1e2], ax
movzx eax, word [0x40314c]
xor eax, 0x2c
mov word [ebp - 0x1e0], ax
movzx eax, word [0x40314e]
xor eax, 0x2c
mov word [ebp - 0x1de], ax
movzx eax, word [0x403150]
xor eax, 0x2c
mov word [ebp - 0x1dc], ax
xor eax, eax
mov word [ebp - 0x1da], ax
xor edx, edx
mov ax, word [ebp - 0x20c]
nop dword [eax + eax]
mov ax, word [ebp + edx*2 - 0x20c]
movzx ecx, ax
mov eax, dword [ebp - 0x210]
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x20c], cx
inc edx
cmp edx, 0x19
jb 0x448750
xor eax, eax
mov word [ebp - 0x1da], ax
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x448790
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x4487a9
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
lea eax, [ebp - 0x20c]
push eax
call ecx
push eax
push dword [ebp - 0xc]
call dword [esi + 0x2c]
test eax, eax
js 0x44899c
mov eax, 0x35
mov word [ebp - 0x1d8], ax
mov eax, 0x6c
mov word [ebp - 0x1d6], ax
mov eax, 0x75
mov word [ebp - 0x1d4], ax
mov eax, 0x78
mov word [ebp - 0x1d2], ax
mov eax, 0x69
mov word [ebp - 0x1d0], ax
mov eax, 0x6b
mov word [ebp - 0x1ce], ax
mov eax, 6
mov word [ebp - 0x1cc], ax
movzx eax, word [0x40314a]
add eax, 6
mov word [ebp - 0x1ca], ax
movzx eax, word [0x40314c]
add eax, 6
mov word [ebp - 0x1c8], ax
movzx eax, word [0x40314e]
add eax, 6
mov word [ebp - 0x1c6], ax
movzx eax, word [0x403150]
add eax, 6
mov word [ebp - 0x1c4], ax
movzx eax, word [0x403152]
add eax, 6
mov word [ebp - 0x1c2], ax
movzx eax, word [0x403154]
add eax, 6
mov word [ebp - 0x1c0], ax
xor eax, eax
mov word [ebp - 0x1be], ax
xor ecx, ecx
mov ax, word [ebp - 0x1d8]
mov ax, word [ebp + ecx*2 - 0x1d8]
movzx eax, ax
add eax, 0xfffffffa
mov word [ebp + ecx*2 - 0x1d8], ax
inc ecx
cmp ecx, 0xd
jb 0x448892
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x4488c1
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x4488da
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
lea eax, [ebp - 0x1d8]
push eax
call ecx
push eax
push dword [ebp - 0xc]
call dword [esi + 0x34]
test eax, eax
js 0x44899c
mov eax, dword [0x4f37cc]
test eax, eax
jne 0x44890a
call fcn.00412450
mov dword [0x4f37cc], eax
mov ecx, dword [0x4f378c]
test ecx, ecx
jne 0x448923
mov ecx, eax
call fcn.004125c0
mov ecx, eax
mov dword [0x4f378c], ecx
mov eax, dword [ebp - 0x18]
movups xmm0, xmmword [ebp - 0x320]
mov esi, dword [eax]
lea eax, [ebp - 0x148]
push eax
sub esp, 0x10
mov eax, esp
push 3
movups xmmword [eax], xmm0
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x340]
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
push 6
push dword [ebp - 4]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x390]
push eax
call ecx
push eax
push dword [ebp - 0x18]
call dword [esi + 0x44]
test eax, eax
js 0x44899c
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x16c]
movups xmm0, xmmword [ebp - 0x320]
push eax
sub esp, 0x10
mov edx, dword [ecx]
mov eax, esp
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x30]
test eax, eax
mov eax, 1
cmovns ebx, eax
mov ecx, dword [ebp - 0x16c]
test ecx, ecx
je 0x4489ac
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x4489bc
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x4489c9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
je 0x4489d9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x4489e9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4489f6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x448a06
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x158]
test ecx, ecx
je 0x448a16
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x448a26
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x448a33
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x448a43
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x448a50
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x448a5d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edx, dword [ebp - 0x10]
test edx, edx
je 0x448a6a
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
call edi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret