Function at 0x49b374
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x17
push 0
push 0
dec ecx
jne 0x49b37d
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49c9e2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4c7d68]
call fcn.00412558
cmp eax, 8
jge 0x49b3b1
mov eax, 0x20
jmp 0x49b3d6
mov eax, dword [0x4c7d68]
mov ebx, dword [eax + 4]
mov eax, dword [0x4c7d68]
call fcn.00412558
push eax
mov eax, dword [ebx + 4]
pop edx
sub eax, edx
cmp eax, 0x1000
jle 0x49b3d6
mov eax, 0x1000
mov edx, 0x4c7d70
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x2f8]
mov ecx, dword [ecx + 0x80]
xchg ecx, eax
call fcn.00457918
mov esi, eax
test esi, esi
jle 0x49c97a
mov eax, dword [0x4bd63c]
mov dword [0x4bd64c], eax
mov eax, dword [0x4bd640]
mov dword [0x4bd650], eax
mov ebx, 0x4c7d70
mov eax, dword [0x4c7d68]
call fcn.00412558
test eax, eax
jg 0x49b42d
cmp dword [ebx], 0x13572469
jne 0x49b43e
mov edx, 0x4c7d70
mov ecx, esi
mov eax, dword [0x4c7d68]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x4c7d68]
mov ebx, dword [eax + 4]
mov eax, dword [0x4c7d68]
call fcn.00412558
test eax, eax
jle 0x49c97a
mov eax, dword [0x4c7d68]
call fcn.00412558
cmp eax, dword [ebx + 4]
jl 0x49c967
mov edx, dword [ebx + 4]
mov eax, ebx
call fcn.00453db0
test al, al
jne 0x49c959
cmp byte [ebx + 0xd], 0xd
jne 0x49b4a6
mov ecx, dword [ebx + 0x10]
mov eax, 0x4c8f4c
mov edx, 0xa
call fcn.00455070
xor edx, edx
mov eax, dword [0x4c7d68]
call fcn.00412568
jmp 0x49c97a
mov dl, 1
mov eax, dword [0x4536d4]
call fcn.00402e48
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x49c952
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x4c7d68]
call fcn.00412558
mov ecx, eax
mov eax, dword [0x4c7d68]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x4c7d68]
call fcn.00412574
cmp eax, 0x10000
jle 0x49b4fe
mov edx, 0x10000
mov eax, dword [0x4c7d68]
mov ecx, dword [eax]
call dword [ecx]
xor edx, edx
mov eax, dword [0x4c7d68]
call fcn.00412568
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 4]
cmp byte [ebx + 0xe], 0
je 0x49b521
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 4]
call fcn.004949dc
mov edx, dword [ebx + 8]
mov eax, dword [0x4c8f78]
call fcn.00410378
test eax, eax
jge case.0x49b787.203
mov edx, dword [ebx + 8]
mov eax, dword [0x4c8f78]
call fcn.00410170
mov eax, dword [0x4c8f78]
cmp dword [eax + 8], 0x64
jle 0x49b55a
xor edx, edx
mov eax, dword [0x4c8f78]
call fcn.004101bc
mov al, byte [ebx + 0xd]
cmp al, 0xa
jne 0x49b57d
cmp byte [0x4c7d6c], 3
jne case.0x49b787.203
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00494f98
jmp case.0x49b787.203
cmp al, 0xb
jne 0x49b759
mov al, byte [ebx + 0xc]
sub al, 0x97
jne case.0x49b787.203
cmp dword [0x4bd658], 0
je 0x49b5a8
mov eax, dword [ebx + 0x10]
cmp eax, dword [0x4bd658]
jne 0x49b73d
mov byte [0x4c7d6c], 3
mov byte [ebp - 0x1e], 0
mov edx, dword [0x4c8fe4]
and edx, 1
xor dl, 1
mov eax, dword [0x4bd96c]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f0]
call fcn.00437054
cmp dword [0x4bd6c0], 0
jne 0x49b5ed
xor ecx, ecx
mov dl, 1
mov eax, dword [0x492ddc]
call fcn.00415768
mov dword [0x4bd6c0], eax
mov eax, dword [ebx + 0x10]
cmp eax, dword [0x4bd658]
je 0x49b601
mov dword [0x4bd658], eax
mov byte [ebp - 0x1e], 1
mov eax, dword [ebx + 0x1c]
mov dword [0x4bd654], eax
cmp dword [0x4bd654], 0x4030144
jae 0x49b64f
mov eax, dword [0x4bda04]
mov byte [eax], 1
mov eax, dword [0x4bdc80]
mov dl, byte [0x49c9f0]
cmp dl, byte [eax]
je 0x49b63b
xor ecx, ecx
mov dl, byte [0x49c9f4]
xor eax, eax
call fcn.00487b8c
mov eax, dword [0x4bd888]
mov byte [eax], 1
mov eax, dword [0x4bd96c]
mov eax, dword [eax]
call fcn.0042e1d8
mov eax, dword [ebx + 0x14]
mov dword [0x4bd65c], eax
mov eax, dword [ebx + 0x18]
mov edx, eax
and edx, 0xff000000
cmp edx, 0x53000000
jne 0x49b728
test ah, 8
je 0x49b68e
mov edx, 0x49ca00
mov eax, 0x49ca10
call fcn.004547d0
mov eax, 0x4c8ee4
call fcn.00403ba0
jmp 0x49b6d2
mov eax, dword [0x4bd8d8]
cmp byte [eax], 0
je 0x49b6d2
mov eax, dword [0x4bda04]
mov byte [eax], 1
mov eax, dword [0x4bdc80]
mov dl, byte [0x49c9f0]
cmp dl, byte [eax]
je 0x49b6be
mov dl, byte [0x49c9f4]
xor ecx, ecx
xor eax, eax
call fcn.00487b8c
mov eax, dword [0x4bd888]
mov byte [eax], 1
mov eax, dword [0x4bd96c]
mov eax, dword [eax]
call fcn.0042e1d8
mov eax, dword [ebx + 0x18]
and eax, 0x4000
test eax, eax
setne dl
cmp dl, byte [0x4bd664]
je 0x49b712
test eax, eax
setne byte [0x4bd664]
cmp byte [0x4bd664], 0
je 0x49b70e
cmp byte [0x4bd668], 0
jne 0x49b70e
call fcn.00493250
mov byte [0x4bd668], 1
mov byte [ebp - 0x1e], 1
test byte [ebx + 0x1a], 8
je 0x49b728
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d0]
xor edx, edx
call fcn.00455e9c
cmp byte [ebp - 0x1e], 0
je 0x49b733
call fcn.004934a8
call fcn.00493878
jmp case.0x49b787.203
push 0
push 0
push 0x930
mov eax, dword [ebp - 4]
call fcn.00444860
push eax
call sub.user32.dll_PostMessageA
jmp case.0x49b787.203
cmp al, 0xc
jne case.0x49b787.203
cmp byte [0x4c7d6c], 3
jne case.0x49b787.203
xor eax, eax
mov al, byte [ebx + 0xc]
add eax, 0xffffff35
cmp eax, 0x24
ja case.0x49b787.203
mov al, byte [eax + 0x49b78e]
jmp dword [eax*4 + 0x49b7b3]
cmp byte [0x4c8f20], 0
jne case.0x49b787.203
mov byte [0x4c8eb8], 0
call fcn.00494e98
mov eax, 0x4c8fa4
call fcn.00403ba0
mov edx, 0x20
mov eax, dword [ebp - 8]
call fcn.00412568
mov edx, 0x4c8f7c
mov ecx, 8
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 4]
cmp byte [0x4c8f83], 0
je 0x49b85c
mov byte [0x4c8f7c], 2
mov byte [0x4c8f7d], 1
mov byte [0x4c8f7e], 2
mov byte [0x4c8f7f], 2
mov byte [0x4c8f80], 2
mov byte [0x4c8f81], 2
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x3c]
mov eax, 0x4c8d7c
call fcn.00403bf4
mov eax, 0x4c8d7c
call fcn.00493cac
mov eax, dword [0x4c8d7c]
cmp byte [eax + 1], 0x3a
jne 0x49b89c
mov eax, dword [0x4c8d7c]
mov al, byte [eax]
call fcn.004029e8
mov byte [0x4c8ee0], al
jmp 0x49b8a3
mov byte [0x4c8ee0], 0
mov byte [0x4c9034], 0
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x40]
mov eax, dword [0x4c8d80]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x44]
mov eax, dword [0x4c8d84]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x4c8d84]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x49b919
inc esi
mov dword [ebp - 0xc], 0
lea edx, [ebp - 0x1c]
mov ecx, 4
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x4c8d84]
mov edi, dword [eax]
call dword [edi + 0x24]
inc dword [ebp - 0xc]
dec esi
jne 0x49b8f3
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x48]
mov eax, 0x4c8d8c
call fcn.00403bf4
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x4c]
mov eax, 0x4c8d90
call fcn.00403bf4
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x50]
mov eax, 0x4c8d94
call fcn.00403bf4
mov eax, dword [ebx + 0x10]
mov dword [0x4c8f2d], eax
mov dl, byte [ebx + 0x18]
mov byte [0x4c8f84], dl
mov edx, dword [ebx + 0x1c]
and edx, 0xff
mov byte [0x4bd638], dl
shl eax, 8
and eax, 0xffff
mov edx, dword [0x4bd874]
mov dword [edx], eax
cmp dword [ebx + 0x14], 0
jle 0x49ba61
mov byte [0x4c8f3e], 1
mov dl, 1
mov eax, dword [0x4536d4]
call fcn.00402e48
mov esi, eax
mov dword [0x4c8f21], esi
mov edx, dword [ebx + 0x14]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [0x4c8f21]
call fcn.00412574
mov edx, dword [0x4bd874]
add eax, dword [edx]
dec eax
mov edx, dword [0x4bd874]
mov ecx, dword [edx]
cdq
idiv ecx
mov dword [0x4c8f29], eax
xor eax, eax
mov dword [0x4c8f31], eax
xor eax, eax
mov dword [0x4c8f35], eax
mov byte [0x4c8f39], 1
mov eax, dword [0x4c8f29]
push eax
mov eax, 0x4c8f25
mov ecx, 1
mov edx, dword [0x492f38]
call fcn.00405714
add esp, 4
mov esi, dword [0x4c8f29]
dec esi
test esi, esi
jl 0x49ba3a
inc esi
mov dword [ebp - 0xc], 0
mov eax, dword [0x4c8f25]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0
inc dword [ebp - 0xc]
dec esi
jne 0x49ba28
mov eax, dword [0x4c8ebc]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [0x4c8fe8], 1
xor eax, eax
mov dword [0x4c8f47], eax
mov byte [0x4c8f20], 1
jmp case.0x49b787.203
mov byte [0x4c8f3e], 0
jmp case.0x49b787.203
cmp dword [0x4bd744], 0
jne case.0x49b787.203
inc dword [0x4bd744]
xor edx, edx
push ebp
push 0x49bf5b
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4c8f20], 0
jne 0x49bf31
mov edx, 0x20
mov eax, dword [ebp - 8]
call fcn.00412568
mov eax, dword [ebx + 0x10]
mov dword [0x4c8f2d], eax
mov edx, eax
shl edx, 8
and edx, 0xffff
mov ecx, dword [0x4bd874]
mov dword [ecx], edx
shr eax, 8
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [0x4c8d74]
call fcn.0041031c
mov esi, eax
cmp byte [esi + 0x18], 2
jne 0x49bf12
mov byte [esi + 0x18], 0
lea edx, [esi + 8]
mov ecx, 8
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 4]
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0x54]
mov eax, esi
call fcn.00403bf4
mov eax, dword [ebx + 0x18]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x10], eax
mov dword [0x4c8f3a], esi
mov byte [0x4c8f3e], 2
cmp byte [0x4c9034], 0
jne 0x49bb32
call fcn.0049b270
cmp dword [0x4c8d7c], 0
je 0x49befa
lea edx, [ebp - 0x10]
mov eax, dword [esi]
call fcn.0040908c
mov eax, dword [ebp - 0x10]
call fcn.00499d28
test al, al
je 0x49bedb
push dword [0x4c8d7c]
push 0x49ca44
push dword [esi]
push 0x49ca5c
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00403ee0
push dword [0x4c8d7c]
push dword [esi]
push 0x49ca6c
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403ee0
cmp dword [esi + 0xc], 0
jne 0x49bba3
cmp dword [esi + 8], 0xa00000
jb 0x49bbe3
jmp 0x49bba5
jl 0x49bbe3
mov eax, dword [ebp - 0x28]
call fcn.00408e3c
test al, al
jne 0x49bbe3
lea eax, [ebp - 0x28]
call fcn.00403ff0
push eax
lea eax, [ebp - 0x24]
call fcn.00403ff0
push eax
call sub.kernel32.dll_MoveFileA
lea eax, [ebp - 0x58]
mov ecx, 0x49ca44
mov edx, dword [0x4c8d7c]
call fcn.00403e6c
mov eax, dword [ebp - 0x58]
call fcn.004092c8
cmp byte [0x4c8f83], 0
je 0x49bbf2
mov byte [ebp - 0x1d], 0
jmp 0x49bc24
mov eax, dword [0x4c8f3f]
mov edx, dword [esi]
call fcn.00403f30
jne 0x49bc20
mov ecx, dword [esi]
lea eax, [ebp - 0x5c]
mov edx, dword [0x4c8d7c]
call fcn.00403e6c
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x28]
call fcn.0049b1e0
mov byte [ebp - 0x1d], al
jmp 0x49bc24
mov byte [ebp - 0x1d], 0
mov ecx, dword [esi]
lea eax, [ebp - 0x60]
mov edx, dword [0x4c8d7c]
call fcn.00403e6c
mov eax, dword [ebp - 0x60]
mov edx, 0x20
call fcn.00408ea4
cmp byte [ebp - 0x1d], 0
je 0x49bc75
mov ecx, dword [esi]
lea eax, [ebp - 0x68]
mov edx, dword [0x4c8d7c]
call fcn.00403e6c
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x64]
call fcn.00404314
mov eax, dword [ebp - 0x64]
mov dx, 2
call fcn.00453dec
mov dword [0x4c8f21], eax
jmp 0x49bca1
mov ecx, dword [esi]
lea eax, [ebp - 0x70]
mov edx, dword [0x4c8d7c]
call fcn.00403e6c
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.00404314
mov eax, dword [ebp - 0x6c]
mov dx, 0xffff
call fcn.00453dec
mov dword [0x4c8f21], eax
cmp dword [0x4c8f21], 0
je 0x49bebc
cmp byte [0x4c8ee0], 0x41
jb 0x49bcd3
mov eax, dword [0x4c8d7c]
mov al, byte [eax]
call fcn.004029e8
sub al, 0x41
inc eax
call fcn.0040920c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
jmp 0x49bce1
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0x7fff
cmp dword [esi + 0xc], 0
jne 0x49bd16
cmp dword [esi + 8], 0
jne 0x49bd16
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x76
mov eax, dword [ebp - 4]
call fcn.004948a8
mov al, 1
call fcn.00497850
jmp 0x49bf47
mov eax, dword [0x4c8f21]
mov edx, dword [0x44b1f0]
call fcn.00403008
call fcn.0044b25c
add eax, dword [ebp - 0x18]
adc edx, dword [ebp - 0x14]
sub eax, dword [esi + 8]
sbb edx, dword [esi + 0xc]
cmp edx, 0
jne 0x49bd49
cmp eax, 0x1312d00
jb 0x49be8b
jmp 0x49bd4f
jl 0x49be8b
push dword [esi + 0xc]
push dword [esi + 8]
mov eax, dword [0x4c8f21]
mov edx, dword [0x44b1f0]
call fcn.00403008
call fcn.0044b330
mov eax, dword [0x4bd874]
mov eax, dword [eax]
cdq
push edx
push eax
mov eax, dword [0x4bd874]
mov eax, dword [eax]
cdq
add eax, dword [esi + 8]
adc edx, dword [esi + 0xc]
sub eax, 1
sbb edx, 0
call fcn.00406642
mov dword [0x4c8f29], eax
xor eax, eax
mov dword [0x4c8f31], eax
xor eax, eax
mov dword [0x4c8f35], eax
mov byte [0x4c8f39], 1
mov eax, dword [0x4c8f29]
push eax
mov eax, 0x4c8f25
mov ecx, 1
mov edx, dword [0x492f38]
call fcn.00405714
add esp, 4
mov eax, dword [0x4c8ebc]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [0x4c8fe8], 1
xor eax, eax
mov dword [0x4c8f47], eax
mov byte [0x4c8f20], 1
cmp byte [ebp - 0x1d], 0
je 0x49be44
mov eax, dword [ebp - 0x28]
call fcn.004996a8
mov eax, dword [0x4c8f31]
cmp eax, dword [0x4c8f29]
jne 0x49be2b
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x76
mov eax, dword [ebp - 4]
call fcn.004948a8
mov al, 1
call fcn.00497850
jmp 0x49bf47
mov dword [0x4c8fe8], 0x7fffffff
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00494cec
jmp 0x49bf47
mov esi, dword [0x4c8f29]
dec esi
test esi, esi
jl 0x49be69
inc esi
mov dword [ebp - 0xc], 0
mov eax, dword [0x4c8f25]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0
inc dword [ebp - 0xc]
dec esi
jne 0x49be57
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x9c
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp 0x49bf47
mov eax, 0x4c8f3f
mov edx, 0x49ca80
call fcn.00403bf4
xor eax, eax
call fcn.00497850
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xad
mov eax, dword [ebp - 4]
call fcn.0049496c
jmp 0x49bf47
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x79
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp 0x49bf47
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x79
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp 0x49bf47
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xad
mov eax, dword [ebp - 4]
call fcn.0049496c
jmp 0x49bf47
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c8f2d]
mov edx, 0x76
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp 0x49bf47
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xab
mov eax, dword [ebp - 4]
call fcn.0049496c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push case.0x49b787.203
dec dword [0x4bd744]
ret
cmp byte [0x4c8f20], 0
jne case.0x49b787.203
mov eax, dword [ebx + 0x10]
mov dword [0x4c8f2d], eax
shl eax, 8
and eax, 0xffff
mov edx, dword [0x4bd874]
mov dword [edx], eax
mov byte [0x4c8f3e], 3
mov dl, 1
mov eax, dword [0x4536d4]
call fcn.00402e48
mov esi, eax
mov dword [0x4c8f21], esi
mov edx, dword [ebx + 0x14]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebx + 0x18]
shr eax, 0x10
mov dword [0x4c8eac], eax
mov eax, dword [ebx + 0x18]
and eax, 0xffff
mov dword [0x4c8eb0], eax
mov eax, dword [0x4c8f21]
call fcn.00412574
mov edx, dword [0x4bd874]
add eax, dword [edx]
dec eax
mov edx, dword [0x4bd874]
mov ecx, dword [edx]
cdq
idiv ecx
mov dword [0x4c8f29], eax
xor eax, eax
mov dword [0x4c8f31], eax
xor eax, eax
mov dword [0x4c8f35], eax
mov byte [0x4c8f39], 1
mov eax, dword [0x4c8f29]
push eax
mov eax, 0x4c8f25
mov ecx, 1
mov edx, dword [0x492f38]
call fcn.00405714
add esp, 4
mov esi, dword [0x4c8f29]
dec esi
test esi, esi
jl 0x49c03e
inc esi
mov dword [ebp - 0xc], 0
mov eax, dword [0x4c8f25]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0
inc dword [ebp - 0xc]
dec esi
jne 0x49c02c
mov eax, dword [0x4c8ebc]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [0x4c8fe8], 1
xor eax, eax
mov dword [0x4c8f47], eax
mov byte [0x4c8f20], 1
jmp case.0x49b787.203
cmp byte [0x4c9034], 0
jne 0x49c073
call fcn.0049b270
cmp dword [0x4c8d7c], 0
jne 0x49c08c
mov dword [ebp - 0x18], 0xff000001
mov dword [ebp - 0x14], 0xffffffff
jmp 0x49c0c1
mov eax, dword [0x4c8d7c]
cmp byte [eax + 1], 0x3a
jne 0x49c0b3
mov eax, dword [0x4c8d7c]
mov al, byte [eax]
call fcn.004029e8
sub al, 0x41
inc eax
call fcn.0040920c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
jmp 0x49c0c1
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0x7fff
cmp dword [ebp - 0x14], 0
jne 0x49c0d6
cmp dword [ebp - 0x18], 0x112a880
jb 0x49c1dd
jmp 0x49c0dc
jl 0x49c1dd
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xab
mov eax, dword [ebp - 4]
call fcn.0049496c
cmp byte [0x4c8f20], 0
jne case.0x49b787.203
mov eax, dword [ebx + 0x10]
mov dword [0x4c8f2d], eax
shl eax, 8
and eax, 0xffff
mov edx, dword [0x4bd874]
mov dword [edx], eax
mov byte [0x4c8f3e], 4
mov dl, 1
mov eax, dword [0x4536d4]
call fcn.00402e48
mov esi, eax
mov dword [0x4c8f21], esi
mov edx, dword [ebx + 0x14]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [0x4c8f21]
call fcn.00412574
mov edx, dword [0x4bd874]
add eax, dword [edx]
dec eax
mov edx, dword [0x4bd874]
mov ecx, dword [edx]
cdq
idiv ecx
mov dword [0x4c8f29], eax
xor eax, eax
mov dword [0x4c8f31], eax
xor eax, eax
mov dword [0x4c8f35], eax
mov byte [0x4c8f39], 1
mov eax, dword [0x4c8f29]
push eax
mov eax, 0x4c8f25
mov ecx, 1
mov edx, dword [0x492f38]
call fcn.00405714
add esp, 4
mov esi, dword [0x4c8f29]
dec esi
test esi, esi
jl 0x49c1b6
inc esi
mov dword [ebp - 0xc], 0
mov eax, dword [0x4c8f25]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0
inc dword [ebp - 0xc]
dec esi
jne 0x49c1a4
mov eax, dword [0x4c8ebc]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [0x4c8fe8], 1
xor eax, eax
mov dword [0x4c8f47], eax
mov byte [0x4c8f20], 1
jmp case.0x49b787.203
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xad
mov eax, dword [ebp - 4]
call fcn.0049496c
jmp case.0x49b787.203
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00494a0c
jmp case.0x49b787.203
mov eax, dword [ebx + 0x1c]
test al, al
je 0x49c21c
mov eax, dword [ebp - 8]
call fcn.00499390
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 4]
mov eax, ebx
call fcn.00497714
jmp case.0x49b787.203
mov eax, dword [0x4bdc58]
cmp dword [eax], 0
jne 0x49c24a
mov ecx, dword [0x4bdc58]
mov eax, dword [0x4bdb04]
mov eax, dword [eax]
mov edx, dword [0x488cd4]
call fcn.004313a0
mov eax, dword [0x4bdb04]
mov eax, dword [eax]
call fcn.00430dbc
mov eax, dword [0x4bdb04]
mov eax, dword [eax]
call fcn.00430e60
lea edx, [ebp - 0x10]
lea eax, [ebx + 0x20]
call fcn.00409528
mov edx, dword [0x4bdc38]
mov edx, dword [edx]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
call fcn.00418f98
lea eax, [ebp - 0x74]
mov edx, dword [0x4bd798]
mov edx, dword [edx]
mov edx, dword [edx + 0x38]
call fcn.00403d58
mov edx, dword [ebp - 0x74]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
call fcn.0043e780
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax + 0x208]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax + 0x208]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax + 0x208]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x54]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax + 0x208]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x54]
call fcn.00409fd4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.0040abbc
mov ecx, dword [ebp - 0x78]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax + 0x208]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x54]
lea eax, [ebp - 0x7c]
mov edx, dword [0x4bd798]
mov edx, dword [edx]
mov edx, dword [edx + 0x9c]
call fcn.00403d58
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
call fcn.0043e780
lea eax, [ebp - 0x80]
mov edx, dword [0x4bd798]
mov edx, dword [edx]
mov edx, dword [edx + 0xa8]
call fcn.00403d58
mov edx, dword [ebp - 0x80]
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d8]
call fcn.0043e780
lea eax, [ebp - 0x84]
mov edx, dword [0x4bd798]
mov edx, dword [edx]
mov edx, dword [edx + 0x38]
call fcn.00403d58
mov edx, dword [ebp - 0x84]
mov eax, dword [0x4bdb04]
mov eax, dword [eax]
call fcn.00430f8c
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
call fcn.0042e390
mov eax, dword [0x4bdc58]
mov eax, dword [eax]
call fcn.0043e994
jmp case.0x49b787.203
mov eax, dword [ebx + 0x1c]
test al, al
je 0x49c3f8
mov eax, dword [ebp - 8]
call fcn.00499390
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 4]
lea esi, [ebx + 0x20]
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00409528
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.00408818
mov edx, dword [ebp - 0x88]
mov eax, dword [0x4c8ec8]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, esi
call fcn.004092e0
add esi, eax
inc esi
lea edx, [ebp - 0x94]
mov eax, esi
call fcn.00409528
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x90]
call fcn.00408818
mov edx, dword [ebp - 0x90]
mov eax, dword [0x4c8ecc]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x4c8ecc]
call fcn.004933d0
mov eax, esi
call fcn.004092e0
add esi, eax
inc esi
lea edx, [ebp - 0x9c]
mov eax, esi
call fcn.00409528
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0x98]
call fcn.00408818
mov edx, dword [ebp - 0x98]
mov eax, dword [0x4c8ed4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, esi
call fcn.004092e0
add esi, eax
inc esi
mov eax, dword [ebx + 0x14]
and eax, 0xffff
cmp eax, 0x535
jne 0x49c532
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00409528
mov eax, dword [ebp - 0xa4]
lea edx, [ebp - 0xa0]
call fcn.00408818
mov edx, dword [ebp - 0xa0]
mov eax, dword [0x4c8fa8]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, esi
call fcn.004092e0
add esi, eax
inc esi
mov eax, dword [ebx + 4]
add eax, ebx
cmp esi, eax
jae 0x49c532
lea edx, [ebp - 0xac]
mov eax, esi
call fcn.00409528
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
call fcn.0047c6d8
mov edx, dword [ebp - 0xa8]
mov eax, 0x4c8ed8
call fcn.00403bf4
mov eax, esi
call fcn.004092e0
mov eax, dword [ebx + 0x18]
mov dword [0x4bd66c], eax
call fcn.004934a8
call fcn.00485b84
call fcn.00493878
jmp case.0x49b787.203
push 0
push 0
push 0
mov ecx, dword [ebx + 0x10]
mov edx, 0xab
mov eax, dword [ebp - 4]
call fcn.0049496c
cmp byte [0x4c8f20], 0
jne case.0x49b787.203
mov edx, 0x20
mov eax, dword [ebp - 8]
call fcn.00412568
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 8]
call fcn.00453cb0
mov edx, dword [ebp - 0xb0]
mov eax, 0x4c8f3f
call fcn.00403bf4
mov eax, dword [ebx + 0x10]
mov dword [0x4c8f2d], eax
shl eax, 8
and eax, 0xffff
mov edx, dword [0x4bd874]
mov dword [edx], eax
mov byte [0x4c8f3e], 5
mov eax, dword [0x4c8f43]
mov dword [0x4c8f21], eax
mov edx, dword [ebx + 0x14]
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [0x4c8f21]
call fcn.00412574
mov edx, dword [0x4bd874]
add eax, dword [edx]
dec eax
mov edx, dword [0x4bd874]
mov ecx, dword [edx]
cdq
idiv ecx
mov dword [0x4c8f29], eax
xor eax, eax
mov dword [0x4c8f31], eax
xor eax, eax
mov dword [0x4c8f35], eax
mov byte [0x4c8f39], 1
mov eax, dword [0x4c8f29]
push eax
mov eax, 0x4c8f25
mov ecx, 1
mov edx, dword [0x492f38]
call fcn.00405714
add esp, 4
mov esi, dword [0x4c8f29]
dec esi
test esi, esi
jl 0x49c647
inc esi
mov dword [ebp - 0xc], 0
mov eax, dword [0x4c8f25]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0
inc dword [ebp - 0xc]
dec esi
jne 0x49c635
mov eax, dword [0x4c8ebc]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [0x4c8fe8], 1
xor eax, eax
mov dword [0x4c8f47], eax
mov byte [0x4c8f20], 1
jmp case.0x49b787.203
mov eax, dword [0x4bd8d8]
cmp byte [eax], 0
je 0x49c6b7
mov eax, dword [0x4bda04]
mov byte [eax], 1
mov eax, dword [0x4bdc80]
mov dl, byte [0x49c9f0]
cmp dl, byte [eax]
je 0x49c69e
mov dl, byte [0x49c9f4]
xor ecx, ecx
xor eax, eax
call fcn.00487b8c
mov eax, dword [0x4bd888]
mov byte [eax], 1
mov eax, dword [0x4bd96c]
mov eax, dword [eax]
call fcn.0042e1d8
jmp case.0x49b787.203
mov dword [ebp - 0xc], 1
mov eax, dword [0x4bdbac]
push dword [eax]
push 0x49ca90
lea ecx, [ebp - 0xb4]
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.00408c08
push dword [ebp - 0xb4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403ee0
mov edx, 0x20
mov eax, dword [ebp - 0x10]
call fcn.00408ea4
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0x10]
call fcn.00404314
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 8]
push eax
call fcn.00455618
test al, al
jne 0x49c724
inc dword [ebp - 0xc]
jmp 0x49c6be
mov edx, 0x22
mov eax, dword [ebp - 0x10]
call fcn.00408ea4
mov eax, 0x4c8ee4
mov edx, dword [ebp - 0x10]
call fcn.00403bf4
mov eax, 0x49ca10
mov ecx, dword [0x4c8ee4]
mov edx, 0x49ca00
call fcn.00453e98
mov eax, dword [ebp - 8]
call fcn.00412574
mov ecx, eax
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov eax, 0x49ca10
mov edx, 0x49caa0
call fcn.00454330
mov byte [0x4bd678], 1
cmp byte [0x4bd690], 0
jne 0x49c799
mov edx, 0x20
mov eax, dword [0x4c8ee4]
call fcn.0049a8d0
test al, al
je case.0x49b787.203
cmp byte [0x4bd668], 0
jne case.0x49b787.203
call fcn.00493250
mov byte [0x4bd668], 1
jmp case.0x49b787.203
cmp dword [0x4bd714], 0
je case.0x49b787.203
mov eax, dword [ebx + 0x14]
cmp eax, dword [0x4c9004]
jne case.0x49b787.203
mov eax, dword [ebx + 0x1c]
test al, al
je 0x49c7e2
mov eax, dword [ebp - 8]
call fcn.00499390
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 4]
cmp byte [0x4c9008], 2
jne 0x49c8a5
mov ecx, dword [ebx + 4]
sub ecx, 0x20
lea edx, [ebx + 0x20]
mov eax, dword [0x4bd714]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x4bd714]
call fcn.0044b2ac
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
cmp edx, dword [0x4c9014]
jne case.0x49b787.203
cmp eax, dword [0x4c9010]
jne case.0x49b787.203
mov dword [0x4c9004], 0xffffffff
mov eax, dword [0x4bd714]
call fcn.00402e78
xor eax, eax
mov dword [0x4bd714], eax
lea eax, [ebp - 0xbc]
mov edx, dword [0x4c9000]
call fcn.00404314
mov eax, dword [ebp - 0xbc]
mov edx, dword [0x4c9018]
call fcn.00453a0c
mov edx, dword [0x4c900c]
mov eax, dword [0x4c9000]
call fcn.00408ea4
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c9004]
mov edx, 0xc4
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp case.0x49b787.203
mov ecx, dword [ebx + 4]
sub ecx, 0x20
lea edx, [ebx + 0x20]
mov eax, dword [0x4bd714]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x4bd714]
call fcn.00412558
cdq
cmp edx, dword [0x4c9014]
jne case.0x49b787.203
cmp eax, dword [0x4c9010]
jne case.0x49b787.203
mov dword [0x4c9004], 0xffffffff
xor edx, edx
mov eax, dword [0x4bd714]
call fcn.00412568
mov al, byte [0x4c9008]
sub al, 1
jb 0x49c8f6
je 0x49c8fd
jmp 0x49c902
call fcn.0049751c
jmp 0x49c902
call fcn.004975c8
mov eax, dword [0x4bd714]
call fcn.00402e78
xor eax, eax
mov dword [0x4bd714], eax
push 0
push 1
push 0
push 0
push 0
mov ecx, dword [0x4c9004]
mov edx, 0xc4
mov eax, dword [ebp - 4]
call fcn.004948a8
jmp case.0x49b787.203
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00494a0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49c97a
mov eax, dword [ebp - 8]
call fcn.00402e78
ret
xor edx, edx
mov eax, dword [0x4c7d68]
call fcn.00412568
jmp 0x49c97a
mov eax, dword [0x4c7d68]
call fcn.00412574
cmp eax, 0x20
je 0x49b39b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49c9e9
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.004041e8
lea eax, [ebp - 0xb4]
mov edx, 0x12
call fcn.00403bc4
lea eax, [ebp - 0x6c]
call fcn.004041d0
lea eax, [ebp - 0x68]
call fcn.00403ba0
lea eax, [ebp - 0x64]
call fcn.004041d0
lea eax, [ebp - 0x60]
mov edx, 0xa
call fcn.00403bc4
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00403bc4
lea eax, [ebp - 0x10]
call fcn.00403ba0
ret