Function at 0x4e0b7c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x9b
push 0
push 0
dec ecx
jne 0x4e0b85
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059f8
mov eax, dword [ebp - 8]
call fcn.004059f8
mov eax, dword [ebp - 0xc]
call fcn.004059f8
xor eax, eax
push ebp
push 0x4e1a55
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xffffd8f1
push 0xffffd8f1
push 0xffffd8f1
push 0
lea eax, [ebp - 0x384]
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x39c], eax
mov byte [ebp - 0x398], 0xb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x394], eax
mov byte [ebp - 0x390], 0xb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38c], eax
mov byte [ebp - 0x388], 0xb
lea edx, [ebp - 0x39c]
mov ecx, 2
mov eax, 0x4e1a70
call fcn.0040b180
mov ecx, dword [ebp - 0x384]
mov eax, dword [0x5b19ac]
mov eax, dword [eax]
xor edx, edx
call fcn.004a1318
mov byte [ebp - 0xd], 0
mov eax, dword [ebp + 0x10]
xor edx, edx
mov dword [eax], edx
mov byte [ebp - 0x4d], 0
call fcn.0059bf84
test al, al
jne 0x4e0c5b
mov dword [ebp - 0x34], 0x42b6e148
mov dword [ebp - 0x38], 0x42b6e148
jmp 0x4e0c69
mov dword [ebp - 0x34], 0x42c80000
mov dword [ebp - 0x38], 0x42c80000
lea edx, [ebp - 0x3a0]
mov eax, dword [ebp - 4]
call fcn.00409cd0
mov edx, dword [ebp - 0x3a0]
lea eax, [ebp - 4]
call fcn.004055e0
lea edx, [ebp - 0x3a4]
mov eax, dword [ebp - 8]
call fcn.00409cd0
mov edx, dword [ebp - 0x3a4]
lea eax, [ebp - 8]
call fcn.004055e0
lea edx, [ebp - 0x3a8]
mov eax, dword [ebp - 0xc]
call fcn.00409cd0
mov edx, dword [ebp - 0x3a8]
lea eax, [ebp - 0xc]
call fcn.004055e0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x18], 0
lea eax, [ebp - 0x4a8]
mov edx, dword [ebp - 8]
mov ecx, 0xff
call fcn.004057e4
lea eax, [ebp - 0x4a8]
call fcn.004dfa84
test al, al
je 0x4e0cfe
mov esi, 0x4e1a90
lea edi, [ebp - 0x37d]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [0x5e47c8], 1
jmp 0x4e0d12
mov esi, 0x4e1a9c
lea edi, [ebp - 0x37d]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov byte [0x5e47c8], 0
cmp byte [ebp - 0x15], 0
jbe 0x4e0d39
lea edx, [ebp - 0x4a8]
xor eax, eax
mov al, byte [ebp - 0x15]
dec eax
call fcn.00403c04
lea edx, [ebp - 0x4a8]
lea eax, [ebp - 0x18]
mov cl, 2
call fcn.00403598
push dword [ebp - 4]
lea eax, [ebp - 0x4ac]
lea edx, [ebp - 0x37d]
call fcn.004057ac
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x4b0]
lea edx, [ebp - 0x18]
call fcn.004057ac
push dword [ebp - 0x4b0]
push 0x4e1aac
lea eax, [ebp - 0x4c]
mov edx, 4
call fcn.004058c8
mov eax, dword [ebp - 0x4c]
call fcn.004df638
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4e0e2a
cmp byte [ebp + 0xc], 0
je 0x4e1a07
push 0xffffd8f1
push 0xffffd8f1
push 0xffffd8f1
push 0
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [0x5b1d54]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4e1abc
call fcn.00488c64
push dword [ebp - 0x4b8]
push 0x4e1ad4
push dword [ebp - 4]
lea eax, [ebp - 0x4bc]
lea edx, [ebp - 0x37d]
call fcn.004057ac
push dword [ebp - 0x4bc]
lea eax, [ebp - 0x4c0]
lea edx, [ebp - 0x18]
call fcn.004057ac
push dword [ebp - 0x4c0]
push 0x4e1aac
lea eax, [ebp - 0x4b4]
mov edx, 6
call fcn.004058c8
mov ecx, dword [ebp - 0x4b4]
mov eax, dword [0x5b19ac]
mov eax, dword [eax]
mov dl, 4
call fcn.004a1318
jmp 0x4e1a07
mov word [ebp - 0x1a], 0
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 2
xor ecx, ecx
mov edx, 0x3b
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x219]
mov ecx, 1
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor ecx, ecx
mov cl, byte [ebp - 0x219]
lea edx, [ebp - 0x27d]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp byte [ebp - 0x27d], 0x2b
jne 0x4e0f05
lea eax, [ebp - 0x4cc]
lea edx, [ebp - 0x27c]
mov ecx, 0x20
call fcn.004057b8
mov eax, dword [ebp - 0x4cc]
lea edx, [ebp - 0x4c8]
call fcn.00409cd0
mov eax, dword [ebp - 0x4c8]
lea edx, [ebp - 0x4c4]
call fcn.00409a80
mov eax, dword [ebp - 0x4c4]
push eax
push dword [ebp - 8]
push 0x4e1ae0
push dword [ebp - 0xc]
lea eax, [ebp - 0x4d4]
mov edx, 3
call fcn.004058c8
mov eax, dword [ebp - 0x4d4]
lea edx, [ebp - 0x4d0]
call fcn.00409a80
mov edx, dword [ebp - 0x4d0]
pop eax
call fcn.00405954
jne 0x4e0f14
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x24], eax
jmp 0x4e0f14
cmp byte [ebp - 0x27d], 0x20
jne 0x4e0f14
mov word [ebp - 0x1a], 0x3e8
inc word [ebp - 0x1a]
cmp dword [ebp - 0x24], 0
jg 0x4e0f2a
cmp word [ebp - 0x1a], 0x3e8
jge 0x4e0f2a
xor eax, eax
jmp 0x4e0f2c
mov al, 1
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x4e0e5e
cmp word [ebp - 0x1a], 0x3e8
jne 0x4e0f8c
cmp dword [ebp - 0x24], 0
jne 0x4e0f8c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [ebp - 0x25c]
add eax, dword [ebp - 0x258]
cdq
cmp edx, dword [esp + 4]
jne 0x4e0f6c
cmp eax, dword [esp]
pop edx
pop eax
jae 0x4e0f8c
jmp 0x4e0f70
pop edx
pop eax
jge 0x4e0f8c
mov word [ebp - 0x1a], 0
mov edx, dword [ebp - 0x25c]
add edx, dword [ebp - 0x258]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x14]
cmp dword [ebp - 0x24], 0
jg 0x4e0f9e
cmp word [ebp - 0x1a], 0x3e8
jl 0x4e0e4b
mov byte [0x5b0e84], 0
cmp byte [ebp + 8], 0
je 0x4e0fc4
cmp dword [ebp - 0x24], 0
jle 0x4e0fc4
mov byte [ebp - 0xd], 1
xor edx, edx
mov eax, dword [ebp - 0x4c]
call fcn.004df76c
jmp 0x4e1a07
cmp dword [ebp - 0x24], 0
jle 0x4e196a
mov byte [ebp - 0x1e9], 0
mov byte [ebp - 0x1e8], 0
mov byte [ebp - 0x1e7], 0
mov byte [ebp - 0x1e6], 0
mov byte [ebp - 0x1e5], 0
mov byte [ebp - 0x1e4], 0
mov byte [ebp - 0x1e3], 0
mov byte [ebp - 0x1e0], 0
mov byte [ebp - 0x1df], 0
mov byte [ebp - 0x1de], 0
mov eax, dword [0x5b0e88]
call fcn.00404734
xor eax, eax
mov dword [0x5b0e88], eax
push 5
mov ecx, 5
mov dl, 1
mov eax, dword [0x4df4e0]
call fcn.005ab104
mov dword [0x5b0e88], eax
push dword [ebp - 8]
push 0x4e1ae0
push dword [ebp - 0xc]
mov eax, dword [0x5b0e88]
add eax, 0x58
mov edx, 3
call fcn.004058c8
cmp dword [0x5b0e90], 0
je 0x4e106f
mov eax, dword [0x5b0e90]
call fcn.005ab4ac
jmp 0x4e1087
push 5
mov ecx, 5
mov dl, 1
mov eax, dword [0x5aafa0]
call fcn.005ab104
mov dword [0x5b0e90], eax
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x1ef]
mov ecx, 1
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor ecx, ecx
mov cl, byte [ebp - 0x1ef]
lea edx, [ebp - 0x1ee]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor ecx, ecx
mov cl, byte [ebp - 0x1ee]
lea edx, [ebp - 0x1e2]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp byte [ebp - 0x1ee], 4
jbe 0x4e10e7
mov al, byte [ebp - 0x1de]
dec eax
sub al, 2
jb 0x4e10eb
xor eax, eax
jmp 0x4e10ed
mov al, 1
mov byte [ebp - 0x4d], al
xor eax, eax
mov al, byte [ebp - 0x1df]
mov dword [ebp - 0x30], eax
mov ax, word [ebp - 0x1e2]
dec eax
test ax, ax
jl 0x4e1888
inc eax
mov word [ebp - 0x50], ax
mov word [ebp - 0x20], 0
mov byte [ebp - 0x190], 0
xor eax, eax
mov dword [ebp - 0x18f], eax
xor eax, eax
mov dword [ebp - 0x18b], eax
xor eax, eax
mov dword [ebp - 0x187], eax
mov esi, 0x4e1ae4
lea edi, [ebp - 0x183]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x16e], 0x3e800000
mov byte [ebp - 0x77], 0
mov word [ebp - 0x76], 0
xor ecx, ecx
mov cl, byte [ebp - 0x1ed]
lea edx, [ebp - 0x1dd]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp byte [ebp - 0x1e7], 0
jbe 0x4e118b
xor ecx, ecx
mov cl, byte [ebp - 0x1e7]
lea edx, [ebp - 0x77]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov cx, word [ebp - 0x1dd]
mov dl, 1
mov eax, dword [0x4df2a4]
call fcn.004e04bc
mov edx, eax
mov eax, dword [0x5b0e88]
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx edx, word [ebp - 0x20]
mov eax, dword [0x5b0e88]
call fcn.005ab1a0
mov dword [0x5b0e8c], eax
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x1d5]
mov dword [eax + 0xc], edx
mov eax, dword [0x5b0e8c]
add eax, 0x4e
lea edx, [ebp - 0x1d1]
call fcn.004057ac
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x1a8]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x1a4]
mov dword [eax + 0x14], edx
mov eax, dword [0x5b0e8c]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0
push 0
call fcn.004322b0
test al, al
je 0x4e123e
lea eax, [ebp - 0x4d8]
lea edx, [ebp - 0x37d]
call fcn.004057ac
mov eax, dword [ebp - 0x4d8]
mov edx, 0x4e1af4
call fcn.00409b48
test eax, eax
jne 0x4e123e
fld dword [ebp - 0x34]
mov eax, dword [0x5b0e8c]
fstp qword [eax + 0x10]
wait
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x1a0]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x19c]
mov dword [eax + 0x1c], edx
mov eax, dword [0x5b0e8c]
push dword [eax + 0x1c]
push dword [eax + 0x18]
push 0
push 0
call fcn.004322b0
test al, al
je 0x4e129e
lea eax, [ebp - 0x4dc]
lea edx, [ebp - 0x37d]
call fcn.004057ac
mov eax, dword [ebp - 0x4dc]
mov edx, 0x4e1af4
call fcn.00409b48
test eax, eax
jne 0x4e129e
fld dword [ebp - 0x38]
mov eax, dword [0x5b0e8c]
fstp qword [eax + 0x18]
wait
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x198]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x194]
mov dword [eax + 0x24], edx
mov eax, dword [0x5b0e8c]
mov dl, byte [ebp - 0x190]
mov byte [eax + 0x28], dl
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x18f]
mov dword [eax + 0x29], edx
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x18b]
mov dword [eax + 0x2d], edx
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x187]
mov dword [eax + 0x31], edx
mov eax, dword [0x5b0e8c]
add eax, 0x35
lea edx, [ebp - 0x183]
mov cl, 0x14
call fcn.00403598
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0x16e]
mov dword [eax + 0x4a], edx
cmp dword [ebp - 0x30], 2
jl 0x4e1323
mov eax, dword [0x5b0e8c]
add eax, 0xc
call fcn.004dfa58
mov eax, dword [0x5b0e8c]
cmp word [eax + 4], 0x4c3
je 0x4e133d
mov eax, dword [0x5b0e8c]
cmp word [eax + 4], 0x4f1
jne 0x4e1358
xor ecx, ecx
mov cl, byte [ebp - 0x1e3]
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
jmp 0x4e1569
mov eax, dword [0x5b0e8c]
cmp word [eax + 4], 0x4c2
jne 0x4e1380
xor ecx, ecx
mov cl, byte [ebp - 0x1e4]
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
jmp 0x4e1569
mov eax, dword [0x5b0e8c]
cmp word [eax + 4], 0x4ce
jne 0x4e1569
xor ecx, ecx
mov cl, byte [ebp - 0x1e8]
lea edx, [ebp - 0xc9]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [0x5b0e8c]
add eax, 0x124
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dl, byte [ebp - 0xc9]
mov byte [eax], dl
fld qword [ebp - 0x98]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 4]
wait
fld qword [ebp - 0xb0]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x38]
wait
fld qword [ebp - 0xa8]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x3c]
wait
fld qword [ebp - 0xa0]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x40]
wait
mov eax, dword [ebp - 0x54]
lea edx, [eax + 8]
lea eax, [ebp - 0x90]
call fcn.004e0a40
mov eax, dword [ebp - 0x54]
lea edx, [eax + 0x18]
lea eax, [ebp - 0x8c]
call fcn.004e0a40
mov eax, dword [ebp - 0x54]
lea edx, [eax + 0x28]
lea eax, [ebp - 0x88]
call fcn.004e0a40
mov eax, dword [ebp - 0x54]
xor edx, edx
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x54]
xor edx, edx
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0x54]
xor edx, edx
mov dword [eax + 0x4c], edx
push dword [ebp - 0x84]
push 0
call fcn.004322e8
test al, al
je 0x4e145b
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x4c], 0x2edbe6ff
jmp 0x4e146e
fld dword [0x4e1b00]
fdiv dword [ebp - 0x84]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x4c]
wait
push dword [ebp - 0x80]
push 0
call fcn.004322e8
test al, al
je 0x4e1488
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x48], 0x2edbe6ff
jmp 0x4e1498
fld dword [0x4e1b00]
fdiv dword [ebp - 0x80]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x48]
wait
push dword [ebp - 0x7c]
push 0
call fcn.004322e8
test al, al
je 0x4e14b2
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x44], 0x2edbe6ff
jmp 0x4e14c2
fld dword [0x4e1b00]
fdiv dword [ebp - 0x7c]
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x44]
wait
mov eax, dword [ebp - 0x54]
mov dl, byte [ebp - 0x78]
mov byte [eax + 0x50], dl
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x84]
mov dword [eax + 0x54], edx
fld dword [ebp - 0x84]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax + 0x50]
call fcn.004e0b08
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x4c]
wait
mov eax, dword [ebp - 0x54]
push dword [eax + 0x4c]
push 0
call fcn.004322e8
test al, al
je 0x4e1512
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x4c], 0x2edbe6ff
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x17c], edx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x180], edx
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x184], edx
mov edx, dword [ebp - 0xbc]
mov dword [eax + 0x188], edx
mov eax, dword [0x5b0e8c]
mov edx, dword [ebp - 0xb8]
mov dword [eax + 0x18c], edx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0x190], edx
mov ax, word [ebp - 0x1db]
test ax, ax
jle 0x4e15e1
mov word [ebp - 0x56], ax
mov word [ebp - 0x1a], 1
xor ecx, ecx
mov cl, byte [ebp - 0x1ec]
lea edx, [ebp - 0x16a]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x166]
push dword [ebp - 0x16a]
push dword [ebp - 0x15e]
push dword [ebp - 0x162]
push dword [ebp - 0x156]
push dword [ebp - 0x15a]
mov dl, 1
mov eax, dword [0x4df310]
call fcn.004e06c0
mov edx, eax
mov eax, dword [0x5b0e8c]
mov eax, dword [eax + 0x90]
mov ecx, dword [eax]
call dword [ecx + 0x28]
inc word [ebp - 0x1a]
dec word [ebp - 0x56]
jne 0x4e157f
mov ax, word [ebp - 0x1d9]
test ax, ax
jle 0x4e1674
mov word [ebp - 0x56], ax
mov word [ebp - 0x1a], 1
xor ecx, ecx
mov cl, byte [ebp - 0x1eb]
lea edx, [ebp - 0x152]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
movsx eax, word [ebp - 0x150]
cdq
xor eax, edx
sub eax, edx
push eax
push 0
movsx eax, word [ebp - 0x152]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov dl, 1
mov eax, dword [0x4df368]
call fcn.004e0738
mov edx, eax
mov eax, dword [0x5b0e8c]
mov eax, dword [eax + 0x94]
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx edx, word [ebp - 0x1a]
dec edx
mov eax, dword [0x5b0e8c]
mov eax, dword [eax + 0x94]
call fcn.005ab1a0
mov dl, byte [ebp - 0x14e]
mov byte [eax + 8], dl
inc word [ebp - 0x1a]
dec word [ebp - 0x56]
jne 0x4e15fb
mov ax, word [ebp - 0x1d7]
dec eax
test ax, ax
jl 0x4e1840
inc eax
mov word [ebp - 0x56], ax
mov word [ebp - 0x1c], 0
mov word [ebp - 0x14c], 0
xor ecx, ecx
mov cl, byte [ebp - 0x1ea]
lea edx, [ebp - 0x14d]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp word [ebp - 0x14c], 0
setg cl
mov dl, 1
mov eax, dword [0x4df3d4]
call fcn.004e07d8
mov edx, eax
mov eax, dword [0x5b0e8c]
mov eax, dword [eax + 0x98]
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx edx, word [ebp - 0x1c]
mov eax, dword [0x5b0e8c]
mov eax, dword [eax + 0x98]
call fcn.005ab1a0
mov dword [ebp - 0x5c], eax
xor eax, eax
mov al, byte [ebp - 0x14d]
test ax, ax
jle 0x4e1741
mov word [ebp - 0x5e], ax
mov word [ebp - 0x1a], 1
lea edx, [ebp - 0x14a]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov cx, word [ebp - 0x14a]
mov dl, 1
mov eax, dword [0x4df42c]
call fcn.004e0958
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call dword [ecx + 0x28]
inc word [ebp - 0x1a]
dec word [ebp - 0x5e]
jne 0x4e1706
mov ax, word [ebp - 0x14c]
dec eax
test ax, ax
jl 0x4e1832
inc eax
mov word [ebp - 0x5e], ax
mov word [ebp - 0x1e], 0
xor ecx, ecx
mov cl, byte [ebp - 0x1e6]
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 8], 0
je 0x4e17f5
mov dl, 1
mov eax, dword [0x4df488]
call fcn.004e09a8
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx edx, word [ebp - 0x1e]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
call fcn.005ab1a0
mov dword [ebp - 0x64], eax
xor eax, eax
mov al, byte [ebp - 0x74]
test ax, ax
jle 0x4e1824
mov word [ebp - 0x66], ax
mov word [ebp - 0x1a], 1
lea edx, [ebp - 0x14a]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov cx, word [ebp - 0x14a]
mov dl, 1
mov eax, dword [0x4df42c]
call fcn.004e0958
mov edx, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call dword [ecx + 0x28]
inc word [ebp - 0x1a]
dec word [ebp - 0x66]
jne 0x4e17b8
jmp 0x4e1824
xor eax, eax
mov al, byte [ebp - 0x74]
test ax, ax
jle 0x4e1824
mov word [ebp - 0x66], ax
mov word [ebp - 0x1a], 1
lea edx, [ebp - 0x14a]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
inc word [ebp - 0x1a]
dec word [ebp - 0x66]
jne 0x4e1809
inc word [ebp - 0x1e]
dec word [ebp - 0x5e]
jne 0x4e175d
inc word [ebp - 0x1c]
dec word [ebp - 0x56]
jne 0x4e1690
mov ax, word [ebp - 0x76]
test ax, ax
jle 0x4e1870
mov word [ebp - 0x56], ax
mov word [ebp - 0x1a], 1
xor ecx, ecx
mov cl, byte [ebp - 0x1e5]
lea edx, [ebp - 0x73]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
inc word [ebp - 0x1a]
dec word [ebp - 0x56]
jne 0x4e1853
mov eax, dword [0x5b0e8c]
call fcn.004dfca4
inc word [ebp - 0x20]
dec word [ebp - 0x50]
jne 0x4e1117
call fcn.004dfe54
mov eax, dword [0x5b0e88]
fld qword [eax + 0x18]
mov eax, dword [0x5b0e88]
fadd qword [eax + 0x30]
fchs
fdiv dword [0x4e1b04]
fstp qword [ebp - 0x40]
wait
mov eax, dword [0x5b0e88]
fld qword [eax + 0x28]
fchs
fstp qword [ebp - 0x48]
wait
lea eax, [ebp - 0x4a8]
mov edx, dword [ebp - 8]
mov ecx, 0xff
call fcn.004057e4
lea eax, [ebp - 0x4a8]
call fcn.004df84c
cmp eax, 3
jne 0x4e18e3
xor eax, eax
call fcn.004e01ec
jmp 0x4e18ea
xor eax, eax
call fcn.004e02e0
cmp byte [ebp + 0x14], 0
je 0x4e18f7
mov al, 1
call fcn.004e03b8
xor eax, eax
mov al, byte [ebp - 0x1e0]
test ax, ax
jle 0x4e196a
mov word [ebp - 0x50], ax
mov word [ebp - 0x1a], 1
xor ecx, ecx
mov cl, byte [ebp - 0x1e9]
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
fld qword [ebp - 0x148]
fadd qword [ebp - 0x40]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0
push 0
fld qword [ebp - 0x140]
fadd qword [ebp - 0x48]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov dl, 1
mov eax, dword [0x4df310]
call fcn.004e06c0
mov edx, eax
mov eax, dword [0x5b0e90]
mov ecx, dword [eax]
call dword [ecx + 0x28]
inc word [ebp - 0x1a]
dec word [ebp - 0x50]
jne 0x4e190e
inc byte [ebp - 0x15]
xor edx, edx
mov eax, dword [ebp - 0x4c]
call fcn.004df76c
cmp dword [ebp - 0x24], 0
jg 0x4e1987
cmp byte [ebp - 0x15], 0xa
jbe 0x4e0d12
cmp dword [ebp - 0x24], 0
jle 0x4e19ed
mov byte [ebp - 0xd], 1
call fcn.004e3780
mov eax, dword [ebp + 0x10]
mov edx, dword [0x5b0e88]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dl, byte [ebp - 0x4d]
mov byte [eax + 0x5c], dl
push 0xffffd8f1
push 0xffffd8f1
push 0xffffd8f1
push 0
lea eax, [ebp - 0x4e0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4e1b10
call fcn.00405854
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [0x5b19ac]
mov eax, dword [eax]
mov dl, 1
call fcn.004a1318
xor eax, eax
mov dword [0x5b0e88], eax
jmp 0x4e1a07
cmp dword [0x5b0e88], 0
je 0x4e1a07
mov eax, dword [0x5b0e88]
call fcn.00404734
xor eax, eax
mov dword [0x5b0e88], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e1a5c
lea eax, [ebp - 0x4e0]
mov edx, 0xe
call fcn.0040556c
lea eax, [ebp - 0x3a8]
mov edx, 3
call fcn.0040556c
lea eax, [ebp - 0x384]
call fcn.00405548
lea eax, [ebp - 0x4c]
call fcn.00405548
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040556c
ret