Function at 0x4aab20
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x1c8
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], esi
mov eax, dword [ebx + 8]
mov edi, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
lea edi, [ebx + 0x10]
lea esi, [ebp - 0xac]
lea ecx, [ebp - 0x138]
movzx edx, byte [eax + 0x15d]
and edx, 0x10
lea eax, [ebx + 0xc]
push ecx
push esi
shr edx, 4
mov dword [ebp - 8], edx
push edi
push eax
call fcn.00494420
add esp, 0x10
test eax, eax
jne 0x4ad9a8
mov ecx, dword [ebp - 0xa4]
cmp ecx, 2
je 0x4ada31
cmp ecx, 1
je 0x4ad1c9
mov eax, dword [ebp - 0xc]
movzx edx, byte [eax + 0x15d]
mov dword [ebp - 0x9c], edx
test dl, 0x20
je 0x4aac19
movsx edx, byte [eax + 0x148]
test edx, edx
jne 0x4aac19
mov eax, dword [ebp - 0xa0]
cmp eax, 1
jle 0x4aac19
cmp ecx, 5
jl 0x4aac19
cmp ecx, 0x11
jle 0x4aac03
cmp ecx, 0x19
jl 0x4aac19
cmp ecx, 0x1f
jle 0x4aac03
cmp ecx, 0x32
jl 0x4aabf9
cmp ecx, 0x34
jle 0x4aac03
jmp 0x4aac19
cmp ecx, 0x28
jl 0x4aac19
cmp ecx, 0x30
jg 0x4aac19
mov esi, dword [ebp - 0x138]
cmp esi, 5
je 0x4aaf77
mov edi, 1
jmp 0x4aac21
mov esi, dword [ebp - 0x138]
xor edi, edi
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x84]
test eax, eax
mov edx, edi
je 0x4aac3c
mov edx, 0
mov dword [ebp - 0x8c], edx
cmp esi, 7
jl 0x4aad68
cmp esi, 8
jg 0x4aad68
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x154], eax
test eax, eax
je 0x4aac77
mov eax, dword [ebp - 0xa8]
cdq
mov esi, dword [ebp - 0x154]
idiv esi
mov esi, eax
jmp 0x4aac79
xor esi, esi
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0xbc], eax
test esi, esi
jne 0x4aac95
mov dword [ebp - 4], 1
jmp 0x4aab5d
cmp ecx, 0x34
je 0x4aaca4
cmp ecx, 0x1c
jl 0x4aacbf
cmp ecx, 0x2c
jg 0x4aacbf
mov eax, dword [ebp - 0x154]
add eax, eax
mov dword [ebp - 0x154], eax
mov ecx, 1
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
jmp 0x4aacc6
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x134]
test eax, eax
jle 0x4aacf7
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x124]
jne 0x4aacff
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x12c]
jg 0x4aacff
cmp ecx, 1
je 0x4aaf87
jmp 0x4aacff
test eax, eax
jle 0x4ad1bb
xor edi, edi
lea ecx, [edi*8]
lea edx, [ecx + edi*4]
mov ecx, dword [ebp + edx - 0x128]
mov edx, dword [ebp + edx - 0x124]
mov dword [ebp + edi*4 - 0x4c], ecx
mov dword [ebp + edi*4 - 0x30], edx
mov dword [ebp + edi*4 - 0x68], ecx
inc edi
cmp edi, eax
jl 0x4aad01
xor ecx, ecx
xor edi, edi
mov edx, dword [ebp + ecx*4 - 0x68]
sub edx, dword [ebp + ecx*4 - 0x4c]
imul edx, dword [ebp + ecx*4 - 0x30]
inc ecx
add edi, edx
cmp ecx, eax
jl 0x4aad2e
add edi, dword [ebp - 0x130]
mov dword [ebp - 0xac], edi
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x138]
push eax
push ecx
push 0
call fcn.0049ec20
add esp, 0xc
jmp 0x4aae7d
cmp esi, 6
je 0x4aad76
cmp esi, 5
jne 0x4aae3a
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa8]
test eax, eax
jne 0x4aad8b
mov edx, 0
mov dword [ebp - 0xbc], edx
test edx, edx
jne 0x4aada1
mov dword [ebp - 4], 1
jmp 0x4aab5d
mov eax, dword [ebp - 0x9c]
test al, 0x10
je 0x4aae00
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x4aadf2
push dword [ebp - 0xc]
lea eax, [ebp - 0xac]
push eax
call fcn.0049e6e0
add esp, 8
test eax, eax
je 0x4aadf2
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4aadee
mov eax, dword [ebp - 0xa8]
cdq
mov ecx, dword [ebp - 0xbc]
idiv ecx
mov esi, eax
jmp 0x4aae05
xor esi, esi
jmp 0x4aae05
mov dword [ebp - 8], 0
mov esi, 1
jmp 0x4aae05
mov esi, 1
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x158]
test cl, 2
je 0x4aae8a
test esi, esi
jne 0x4aae2e
mov dword [eax + 0x118], 1
mov dword [ebp - 4], 1
jmp 0x4aab5d
mov dword [eax + 0x118], 0
jmp 0x4aae8a
cmp ecx, 0x34
je 0x4aae49
cmp ecx, 0x1c
jl 0x4aae5c
cmp ecx, 0x2c
jg 0x4aae5c
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], eax
mov esi, 2
jmp 0x4aae7d
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x4aae78
mov dword [ebp - 4], 1
jmp 0x4aab5d
mov esi, 1
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x118], 0
mov edi, eax
mov edx, 1
mov dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x4ab0a8
cmp esi, 1
jle 0x4aaf64
mov eax, dword [ebp - 0x138]
cmp eax, 7
je 0x4aaecc
cmp eax, 8
jne 0x4aaf48
test edx, edx
je 0x4aaee1
mov eax, dword [ebp - 0xa0]
add dword [ebp - 0xac], eax
dec esi
xor edx, edx
jmp 0x4aaea8
mov eax, dword [ebp - 0x14]
test eax, eax
mov eax, dword [ebp - 0x134]
je 0x4aaef3
mov edx, 1
test eax, eax
jle 0x4ad1c2
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0xc], edi
xor ecx, ecx
mov edi, ecx
mov esi, dword [ebp + edi*4 - 0x68]
sub esi, dword [ebp + edi*4 - 0x4c]
imul esi, dword [ebp + edi*4 - 0x30]
inc edi
add ecx, esi
cmp edi, eax
jl 0x4aaf05
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
add ecx, dword [ebp - 0x130]
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x138]
mov dword [ebp - 0x10], edx
push eax
push ecx
push 0
call fcn.0049ec20
mov edx, dword [ebp - 0x10]
add esp, 0xc
jmp 0x4aaf54
mov eax, dword [ebp - 0xa0]
add dword [ebp - 0xac], eax
mov dword [edi + 0x118], 0
dec esi
jmp 0x4aaea8
nop
lea esi, [esi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edi
jmp 0x4aab5d
mov edi, 1
mov dword [ebp - 0x84], edi
jmp 0x4aac2b
cmp eax, 1
jg 0x4ab05e
mov eax, dword [ebp - 0x9c]
test al, 0x10
jne 0x4aafcf
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [ebp - 0xbc], eax
test esi, esi
mov dword [ebp - 0xac], edx
mov dword [ecx + 0x118], 0
je 0x4ab088
jmp 0x4aab5d
push dword [ebp - 0xc]
lea eax, [ebp - 0xac]
push eax
call fcn.0049e6e0
add esp, 8
test eax, eax
jne 0x4ab01a
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [ebp - 0xbc], eax
test esi, esi
mov dword [ebp - 0xac], edx
mov dword [ecx + 0x118], 0
je 0x4ad0d5
jmp 0x4aab5d
test edi, edi
je 0x4ab053
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [ebp - 0xbc], eax
test esi, esi
mov dword [ebp - 0xac], edx
mov dword [ecx + 0x118], 0
je 0x4ad138
jmp 0x4aab5d
mov eax, dword [ebp - 0x134]
jmp 0x4aacf7
mov dword [ebp - 0x1b8], edi
mov ecx, 1
lea edi, [ecx*8]
lea edx, [edi + ecx*4]
mov edi, dword [ebp + edx - 0x128]
cmp edi, 1
je 0x4ad17e
jmp 0x4aacff
mov edi, ecx
mov edx, 1
mov dword [ebp - 0x88], edx
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov esi, edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x98], ecx
test eax, eax
je 0x4ab334
mov eax, dword [ebp - 0xbc]
lea ecx, [eax + 3]
and ecx, dword [ebp - 0x80]
test cl, 3
jne 0x4ab298
cmp eax, 4
je 0x4ab25e
cmp eax, 8
jne 0x4ab15a
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x80]
mov ecx, dword [esi]
mov dword [ebp - 0x10], edx
mov edx, dword [esi + 4]
mov eax, edx
shr eax, 0x18
mov esi, edx
and esi, 0xff0000
shr esi, 8
or eax, esi
mov esi, edx
shl edx, 0x18
and esi, 0xff00
shl esi, 8
or eax, esi
or eax, edx
mov esi, ecx
mov dword [ebp - 0xd8], eax
shr esi, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov edx, ecx
and edx, 0xff00
shl edx, 8
or esi, edx
shl ecx, 0x18
or esi, ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0x6c]
jmp 0x4ab329
cmp eax, 0x10
jne 0x4ab239
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc], edi
mov edi, dword [eax]
mov dword [ebp - 0x6c], esi
mov esi, dword [eax + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x170], edi
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
shl edx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, edx
mov edi, ecx
mov dword [ebp - 0xd8], eax
shr edi, 0x18
mov edx, ecx
and edx, 0xff0000
shr edx, 8
or edi, edx
mov eax, ecx
and eax, 0xff00
shl eax, 8
or edi, eax
shl ecx, 0x18
or edi, ecx
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0xc]
mov edx, esi
shr edx, 0x18
mov ecx, esi
mov eax, esi
and ecx, 0xff0000
and eax, 0xff00
shr ecx, 8
or edx, ecx
shl eax, 8
or edx, eax
shl esi, 0x18
or edx, esi
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0x170]
mov ecx, edx
shr ecx, 0x18
mov esi, edx
and esi, 0xff0000
shr esi, 8
or ecx, esi
mov eax, edx
shl edx, 0x18
mov esi, dword [ebp - 0x6c]
and eax, 0xff00
shl eax, 8
or ecx, eax
or ecx, edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xcc], ecx
jmp 0x4ab329
mov ecx, dword [ebp - 0x80]
movzx ecx, word [ecx]
shl ecx, 0x10
mov eax, ecx
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
shl ecx, 8
or eax, ecx
mov word [ebp - 0xd8], ax
jmp 0x4ab329
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov dword [ebp - 0x10], edx
mov eax, ecx
shr eax, 0x18
mov edx, ecx
and edx, 0xff0000
shr edx, 8
or eax, edx
mov edx, ecx
shl ecx, 0x18
and edx, 0xff00
shl edx, 8
or eax, edx
or eax, ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xd8], eax
jmp 0x4ab329
cmp eax, 1
je 0x4abbc0
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
test ecx, ecx
mov dword [ebp - 0x70], ecx
jle 0x4ab329
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x80]
xor ecx, ecx
add edx, eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x78], edx
lea eax, [ebp + eax - 0xd8]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x74], ecx
movzx ecx, byte [esi + eax]
movzx eax, byte [edi + edx - 1]
mov byte [ebp + esi - 0xd8], al
movzx edx, byte [edi + edx - 1]
xor ecx, eax
xor edx, ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
mov byte [ecx + eax - 1], dl
dec ecx
dec edi
inc esi
cmp esi, dword [ebp - 0x70]
jl 0x4ab2ec
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x80], eax
jmp 0x4ab388
mov eax, dword [ebp - 8]
test eax, eax
je 0x4ab388
mov eax, dword [ebp - 0xa4]
cmp eax, 0x38
je 0x4ab388
lea ecx, [ebp - 0xac]
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x10], edx
push eax
push edi
push dword [ebp - 0xbc]
push ecx
call fcn.0049e770
mov edx, dword [ebp - 0x10]
add esp, 0x10
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x80], ecx
test eax, eax
je 0x4ab388
push 0
push 0x5f
mov dword [ebp - 0x10], edx
call fcn.00492dd0
mov edx, dword [ebp - 0x10]
add esp, 8
movzx eax, byte [edi + 0x15f]
test al, 0x20
je 0x4ab3a5
cmp esi, 1
je 0x4abbd1
and eax, 0xffffffdf
mov byte [edi + 0x15f], al
test al, 0x40
jne 0x4aaeb3
mov eax, dword [edi + 0x128]
mov dword [ebp - 0xb4], eax
cmp eax, 7
je 0x4ab876
mov ecx, dword [ebp - 0xbc]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x10], edx
mov edx, dword [edi + 0x3c]
add ecx, edx
mov dword [ebp - 0xb0], eax
cmp eax, ecx
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0x10]
jae 0x4abc98
movsx ecx, byte [edi + 0x144]
cmp ecx, 5
je 0x4acfcf
mov eax, dword [ebp - 0xb4]
cmp eax, 0xb
jne 0x4ab417
cmp ecx, 4
je 0x4abc82
cmp ecx, 5
je 0x4abc82
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x6c], esi
movsx esi, byte [edi + 0x144]
cmp esi, 3
je 0x4acc33
mov ecx, dword [ebp - 0x98]
mov eax, dword [edi + 0xe8]
mov dword [ebp - 0xb8], eax
cmp ecx, 0x200
jge 0x4ab452
mov ecx, 0x200
shr eax, 3
cmp eax, ecx
jge 0x4ab45b
mov eax, ecx
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0xb
jne 0x4ab485
cmp esi, 5
je 0x4ab470
cmp esi, 4
jne 0x4ab485
mov ecx, dword [edi + 0x38]
sub ecx, dword [ebp - 0xb0]
add ecx, 0x20000
cmp eax, ecx
jl 0x4ab485
mov eax, ecx
movzx ecx, byte [edi + 0x15f]
add eax, 0xf
and eax, 0xfffffff0
test cl, 1
je 0x4ab4b4
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0xb
jne 0x4ab647
cmp esi, 5
je 0x4ab4b4
cmp esi, 4
jne 0x4ab647
push eax
push edi
mov edx, dword [edi + 0xdc]
mov ecx, dword [edi + 0xec]
mov esi, dword [edi + 0x40]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], esi
call fcn.0049ec90
add esp, 8
test eax, eax
je 0x4ab642
mov eax, dword [edi + 0x128]
cmp eax, 0xb
jne 0x4ab57f
movsx eax, byte [edi + 0x144]
cmp eax, 5
je 0x4ab507
cmp eax, 4
jne 0x4ab57f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4abcab
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ab54f
mov eax, 0x42
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ab537
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x42
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx eax, byte [edi + 0x15b]
test eax, 0x80
je 0x4abe39
movsx eax, byte [edi + 0x144]
cmp eax, 1
je 0x4abe39
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [edi + 0xdc], esi
mov esi, dword [edi + 0x3c]
sub esi, dword [edi + 0x38]
or byte [edi + 0x15f], 1
mov dword [edi + 0xe8], edx
mov edx, dword [ebp - 0x98]
mov dword [edi + 0xec], eax
mov dword [edi + 0x40], ecx
add edx, esi
mov dword [edi + 0x108], edx
mov eax, dword [ebx + 0xc]
movsx ecx, byte [eax]
cmp ecx, 1
je 0x4abe1a
mov eax, dword [edi + 0xd4]
call fcn.004adcb0
mov dword [edi + 0x100], eax
mov dword [edi + 0x104], edx
push esi
push dword [edi + 0x38]
push edi
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4abd75
push dword [ebp - 0x98]
push dword [ebp - 0x80]
push edi
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4abcd0
jmp 0x4ab68a
mov edx, dword [edi + 0x3c]
jmp 0x4ab69a
mov eax, dword [ebp - 0x98]
mov esi, dword [edi + 0x38]
sub edx, esi
push edx
lea ecx, [eax + edx]
add dword [edi + 0x108], ecx
push esi
push edi
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4acb8e
push dword [ebp - 0x98]
push dword [ebp - 0x80]
push edi
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4acae9
mov edx, dword [edi + 0x38]
mov dword [ebp - 0x98], 0
mov dword [edi + 0x3c], edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0xb0], ecx
lea esi, [edx + eax]
cmp ecx, esi
jb 0x4aca98
mov esi, dword [ebp - 0x6c]
mov eax, dword [edi + 0x128]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xbc]
cmp eax, 8
jne 0x4ab74c
mov eax, dword [ebp - 0xc0]
test al, 7
jne 0x4ab708
mov eax, dword [ebp - 0xac]
test al, 7
jne 0x4ab708
mov dword [ebp - 0x94], 1
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], eax
jmp 0x4ab793
mov eax, dword [ebp - 0xc0]
test al, 3
jne 0x4ab736
mov eax, dword [ebp - 0xac]
test al, 3
jne 0x4ab736
mov dword [ebp - 0x90], 1
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x94], eax
jmp 0x4ab793
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
jmp 0x4ab793
cmp eax, 4
jne 0x4ab77f
mov eax, dword [ebp - 0xc0]
test al, 3
jne 0x4ab736
mov eax, dword [ebp - 0xac]
test al, 3
jne 0x4ab736
mov dword [ebp - 0x90], 1
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x94], eax
jmp 0x4ab793
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xb4]
cmp eax, 0xb
jne 0x4ab7da
movsx eax, byte [edi + 0x144]
cmp eax, 5
je 0x4ab7af
cmp eax, 4
jne 0x4ab7da
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb0], eax
mov dword [edi + 0x138], eax
test ecx, ecx
jg 0x4abed2
jmp 0x4aaeb3
mov eax, dword [ebp - 0x98]
cmp eax, 4
jne 0x4ab80b
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x4ac7b0
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc0]
mov dword [eax], ecx
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0xc0], ecx
jmp 0x4ab862
cmp eax, 8
jne 0x4ab842
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x4ac7b0
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0xc0]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
cmp eax, 1
jne 0x4ac7b0
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xc0]
movzx eax, byte [eax]
mov byte [ecx], al
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0x98]
mov dword [edi + 0x3c], eax
jmp 0x4aaeb3
mov eax, dword [edi + 0x128]
cmp eax, 7
jne 0x4aaeb3
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x10], edx
mov edx, ecx
mov dword [ebp - 0x6c], esi
mov esi, edx
sub esi, eax
cmp esi, 1
jle 0x4ab8a7
mov ecx, dword [edi + 0x134]
jmp 0x4ab9ba
push edi
call fcn.004a26f0
pop ecx
test eax, eax
jne 0x4abb3a
and byte [edi + 0x160], 0xbf
push 0
push edi
call fcn.004a0de0
add esp, 8
test eax, eax
jne 0x4abaa1
movsx eax, byte [edi + 0x144]
dec eax
cmp eax, 7
ja case.default.0x4ab8e8
mov eax, dword [eax*4 + 0x4fd6e4]
jmp eax
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ab8f6
mov dword [edi + 0x3c], eax
jmp 0x4ab8fc
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xe8]
lea edx, [eax + edx - 1]
mov dword [edi + 0x44], edx
jmp 0x4ab9a4
mov edx, dword [edi + 0x40]
mov eax, 1
mov word [ebp - 0x1a8], ax
test edx, edx
je 0x4aba78
mov byte [edx + 2], al
mov eax, dword [edi + 0x40]
mov byte [eax + 3], 0
mov eax, dword [edi + 0x40]
add eax, 4
mov edx, dword [edi + 0xe8]
mov dword [edi + 0x3c], eax
add edx, eax
mov dword [edi + 0x44], edx
jmp 0x4ab9a4
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ab951
add eax, 4
jmp 0x4ab957
mov eax, dword [edi + 0x38]
add eax, 4
mov edx, dword [edi + 0xe8]
mov dword [edi + 0x3c], eax
lea edx, [eax + edx - 8]
mov dword [edi + 0x44], edx
jmp 0x4ab9a4
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ab975
mov dword [edi + 0x3c], eax
jmp 0x4ab97b
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xe8]
mov dword [edi + 0x44], edx
jmp 0x4ab9a4
push 0x9e9
push str.for_wseq.c
push 2
push 8
call fcn.00492dd0
add esp, 0x10
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x134]
mov esi, edx
sub esi, eax
cmp esi, ecx
jb 0x4ab9b4
mov esi, ecx
mov dword [edi + 0x138], esi
test ecx, ecx
jge 0x4ab9fc
mov byte [edi + 0x14e], 0x81
mov byte [eax], 0x81
mov eax, dword [edi + 0x3c]
movzx ecx, byte [edi + 0x14e]
inc eax
mov dword [edi + 0x3c], eax
xor edx, edx
cmp ecx, 0x81
sete dl
sub ecx, edx
mov edx, dword [edi + 0x44]
mov dword [edi + 0x134], ecx
mov esi, edx
sub esi, eax
cmp esi, ecx
jb 0x4ab9f6
mov esi, ecx
mov dword [edi + 0x138], esi
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x4aba96
test ecx, ecx
jne 0x4aba30
movzx edx, byte [edi + 0x14e]
mov dword [edi + 0x134], 0xffffffff
mov byte [eax], dl
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x44]
inc eax
mov dword [edi + 0x3c], eax
jmp 0x4ab893
mov ecx, esi
mov esi, dword [edi + 0x138]
cmp esi, ecx
jb 0x4aba3e
mov esi, ecx
test esi, esi
jbe 0x4ab893
push esi
push dword [ebp - 0x80]
push eax
call fcn.004e26a0
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x44]
add dword [ebp - 0x80], esi
add eax, esi
sub dword [ebp - 0x98], esi
mov dword [edi + 0x3c], eax
sub dword [edi + 0x138], esi
sub dword [edi + 0x134], esi
jmp 0x4ab893
mov esi, dword [edi + 0x38]
mov byte [esi + 2], al
movzx eax, byte [ebp - 0x1a7]
mov edx, dword [edi + 0x38]
mov byte [edx + 3], al
mov eax, dword [edi + 0x38]
add eax, 4
jmp 0x4ab935
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
jmp 0x4aaeb3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4abb15
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4abae5
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4abacd
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4abba0
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4abb75
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4abb62
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x80]
movzx eax, byte [ecx]
mov byte [ebp - 0xd8], al
jmp 0x4ab329
mov ecx, dword [ebx + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 1
jne 0x4ab39c
movsx ecx, byte [edi + 0x144]
and eax, 0xffffffdf
cmp ecx, 1
je 0x4abbfa
mov byte [edi + 0x15f], al
jmp 0x4ab3a5
movzx ecx, byte [edi + 0x15b]
mov dword [ebp - 0x1a4], ecx
test cl, 8
je 0x4abc30
movzx ecx, byte [edi + 0x158]
test cl, 1
je 0x4abc24
movsx ecx, byte [edi + 0x145]
cmp ecx, 2
je 0x4abbef
movzx ecx, byte [edi + 0x161]
test cl, 0x40
jne 0x4abbef
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [edi + 0xe8]
jne 0x4abbef
add ecx, dword [edi + 0x3c]
cmp ecx, dword [edi + 0x44]
jbe 0x4abc5f
mov ecx, dword [ebp - 0x1a4]
test ecx, 0x80
je 0x4abbef
mov byte [edi + 0x15f], al
jmp 0x4ab3a5
mov ecx, dword [ebp - 0x80]
mov dword [edi + 0x80], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [edi + 0x124], ecx
or eax, 0x40
mov byte [edi + 0x15f], al
jmp 0x4ab3a5
mov eax, dword [edi + 0x38]
neg eax
add eax, dword [ebp - 0xb0]
cmp eax, 0x20000
jb 0x4ab417
mov eax, dword [ebp - 0x88]
test eax, eax
jne 0x4ab6cc
jmp 0x4ab793
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xd8], eax
test edx, edx
je 0x4abd50
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4abd20
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4abd08
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xd8], eax
test edx, edx
je 0x4abdf5
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4abdc5
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4abdad
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x6c]
cmp eax, 1
jne 0x4ab5f8
mov eax, edi
call fcn.004add10
or byte [edi + 0x15f], 2
jmp 0x4ab60f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4abead
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4abe7d
mov eax, 0x42
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4abe65
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x42
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x6c], esi
mov esi, ecx
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0xc0]
test eax, eax
jle 0x4abefd
cmp esi, 0x20000
jae 0x4abefd
mov edx, dword [ebp - 0x84]
test edx, edx
je 0x4ac05d
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x4abf42
push 0
push dword [eax + 0x38]
sub edi, edx
mov dword [ebp - 0x198], edx
push eax
call fcn.004a21f0
mov edx, dword [ebp - 0x198]
add esp, 0xc
test edi, edi
je 0x4abf87
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
movsx eax, byte [ecx + 0x144]
cmp eax, 5
je 0x4ac20a
jmp 0x4abf5c
mov edx, dword [eax + 0x38]
sub edi, edx
je 0x4abf87
movsx ecx, byte [eax + 0x144]
mov dword [eax + 0x3c], edx
cmp ecx, 5
je 0x4ac2c5
mov eax, dword [ebx + 0xc]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov ecx, edi
mov eax, dword [ebp - 0xc]
call fcn.004ada50
test eax, eax
jne 0x4ac23c
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x44]
sub eax, dword [edx + 0x3c]
mov dword [edx + 0x138], eax
cmp esi, 0x20000
jb 0x4abfce
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x4abff0
mov eax, dword [ebp - 0xc]
movsx edx, byte [eax + 0x144]
cmp edx, 5
je 0x4ac382
mov edi, dword [ebx + 0xc]
mov edx, dword [ebp - 0x80]
movsx ecx, byte [edi]
mov dword [esp + 0xc], ecx
mov ecx, esi
call fcn.004ada50
mov esi, eax
test esi, esi
jne 0x4ac2f7
xor esi, esi
jmp 0x4abfd8
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x4abff0
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x88], 1
jmp 0x4ac05d
mov edx, dword [ebp - 0x80]
mov edi, dword [ebp - 0xa0]
cmp esi, 0x6400000
mov eax, esi
jle 0x4ac008
mov eax, 0x6400000
dec edi
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x19c], edx
not edi
mov dword [ebp - 0x98], esi
mov esi, eax
lea edx, [ebp - 0x16c]
push edx
push 0
push esi
call fcn.00484a50
add esp, 0xc
test eax, eax
je 0x4ac04e
mov dword [ebp - 0x16c], 0
sar esi, 1
and esi, edi
jne 0x4ac023
jmp 0x4ac3b6
mov edx, dword [ebp - 0x16c]
test edx, edx
je 0x4ac023
jmp 0x4ac43f
cmp eax, esi
mov edx, eax
jb 0x4ac065
mov edx, esi
mov dword [ebp - 0x174], edx
cmp edx, 8
ja case.0x4ac07b.3
mov ecx, dword [edx*4 + 0x4fd6c0]
jmp ecx
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x4ac0a5
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x138]
jmp case.0x4ac07b.0
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x4ac0d0
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [edx + 0x3c]
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [edx + 0x3c]
mov eax, dword [edx + 0x138]
jmp case.0x4ac07b.0
mov edx, dword [ebp - 0x80]
movzx eax, byte [edx]
mov byte [edi], al
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 1]
mov byte [edi + 1], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 2]
mov byte [edi + 2], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 3]
mov byte [edi + 3], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 4]
mov byte [edi + 4], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 5]
mov byte [edi + 5], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 6]
mov byte [edi + 6], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 7]
mov byte [ecx + 7], dl
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x138]
jmp case.0x4ac07b.0
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x4ac151
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax]
mov dword [edi], edx
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x138]
jmp case.0x4ac07b.0
mov edx, dword [ebp - 0x80]
movzx eax, byte [edx]
mov byte [edi], al
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 1]
mov byte [edi + 1], cl
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 2]
mov byte [edi + 2], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 3]
mov byte [ecx + 3], dl
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x138]
jmp case.0x4ac07b.0
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xc]
movzx eax, byte [edx]
mov byte [edi], al
mov edi, dword [ecx + 0x3c]
movzx edx, byte [edx + 1]
mov byte [edi + 1], dl
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x138]
jmp case.0x4ac07b.0
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xc]
movzx edx, byte [eax]
mov byte [edi], dl
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x138]
jmp case.0x4ac07b.0
push dword [ebp - 0x174]
push dword [ebp - 0x80]
push edi
call fcn.004e26a0
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x138]
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0xc]
add dword [ebp - 0x80], ecx
sub esi, ecx
sub eax, ecx
mov dword [edx + 0x138], eax
add edi, ecx
mov dword [edx + 0x3c], edi
test esi, esi
jg 0x4abee3
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
jmp 0x4aaeb3
push edi
push edx
push dword [ebp - 0xc]
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4ac223
xor eax, eax
jmp 0x4abf70
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xd8], eax
mov eax, 0x26
jmp 0x4abf70
mov edi, dword [ebp - 0xc]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ac2a5
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ac27a
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ac267
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push edx
push dword [ebp - 0xc]
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4ac2de
xor eax, eax
jmp 0x4abf70
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xd8], eax
mov eax, 0x26
jmp 0x4abf70
mov edi, dword [ebp - 0xc]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ac362
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ac337
mov dword [ecx + 0x38], esi
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], esi
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ac322
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov edi, dword [ebp - 0xc4]
mov eax, esi
mov esi, dword [ebp - 0xc8]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push esi
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push esi
push esi
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push dword [ebp - 0x80]
push dword [ebp - 0xc]
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4ac39d
xor esi, esi
jmp 0x4abfc2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xd8], eax
mov esi, 0x26
jmp 0x4abfc2
mov edi, dword [ebp - 0xc]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ac41f
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ac3f4
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ac3e1
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x19c]
mov eax, esi
mov dword [ebp - 0x190], eax
xor edi, edi
mov esi, edx
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x188], esi
sub ecx, edi
cmp eax, ecx
jge 0x4ac471
mov ecx, eax
mov eax, dword [ebp - 0xa0]
cmp eax, 2
je 0x4ac760
cmp eax, 4
je 0x4ac648
cmp eax, 8
jne 0x4ac531
mov eax, ecx
test ecx, ecx
jle 0x4ac6c5
mov dword [ebp - 0x180], eax
mov eax, esi
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], esi
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x188], eax
mov eax, ecx
shr eax, 0x18
mov edi, ecx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, ecx
mov dword [edx], eax
mov edi, esi
shr edi, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edi, eax
mov eax, dword [ebp - 0x188]
mov ecx, esi
and ecx, 0xff00
shl ecx, 8
or edi, ecx
shl esi, 0x18
or edi, esi
mov esi, dword [ebp - 0x180]
mov dword [edx + 4], edi
add esi, 0xfffffff8
add edx, 8
add eax, 8
mov dword [ebp - 0x180], esi
test esi, esi
jg 0x4ac4b6
jmp 0x4ac6ad
cmp eax, 0x10
jne 0x4ac6c5
mov eax, ecx
test ecx, ecx
jle 0x4ac6c5
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], esi
mov eax, dword [ebp - 0x188]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x17c], edi
mov edi, ecx
mov dword [ebp - 0x178], esi
and edi, 0xff0000
mov esi, dword [eax + 8]
mov eax, ecx
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
or eax, edi
shl ecx, 0x18
or eax, ecx
mov dword [edx], eax
mov edi, esi
shr edi, 0x18
mov ecx, esi
and ecx, 0xff0000
shr ecx, 8
or edi, ecx
mov ecx, dword [ebp - 0x178]
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edi, eax
or edi, esi
mov dword [edx + 4], edi
mov edi, ecx
shr edi, 0x18
mov esi, ecx
and esi, 0xff0000
shr esi, 8
or edi, esi
mov esi, dword [ebp - 0x17c]
mov eax, ecx
and eax, 0xff00
shl eax, 8
or edi, eax
shl ecx, 0x18
or edi, ecx
mov dword [edx + 8], edi
mov edi, esi
shr edi, 0x18
mov eax, esi
mov ecx, esi
and eax, 0xff0000
and ecx, 0xff00
shr eax, 8
or edi, eax
shl ecx, 8
or edi, ecx
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x188]
shl esi, 0x18
or edi, esi
mov dword [edx + 0xc], edi
add ecx, 0xfffffff0
mov dword [ebp - 0x18c], ecx
add edx, 0x10
add eax, 0x10
test ecx, ecx
mov dword [ebp - 0x188], eax
jg 0x4ac55c
jmp 0x4ac6ad
mov eax, ecx
test ecx, ecx
jle 0x4ac6c5
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], esi
mov esi, dword [ebp - 0x188]
mov ecx, dword [esi]
mov edx, ecx
shr edx, 0x18
mov edi, ecx
add eax, 0xfffffffc
add esi, 4
and edi, 0xff0000
shr edi, 8
or edx, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or edx, edi
or edx, ecx
mov ecx, dword [ebp - 0x184]
mov dword [ecx], edx
add ecx, 4
mov dword [ebp - 0x184], ecx
test eax, eax
jg 0x4ac66c
mov ecx, dword [ebp - 0x194]
mov edi, dword [ebp - 0x1a0]
mov esi, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0xc]
movsx eax, byte [eax + 0x144]
cmp eax, 5
je 0x4ac71a
mov eax, dword [ebx + 0xc]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x194], ecx
call fcn.004ada50
mov ecx, dword [ebp - 0x194]
test eax, eax
jne 0x4ac706
add edi, ecx
add esi, ecx
cmp edi, dword [ebp - 0x98]
jl 0x4ac451
mov edx, dword [ebp - 0x16c]
mov esi, eax
push edx
call fcn.004849b0
pop ecx
jmp 0x4abfc2
push ecx
mov dword [ebp - 0x194], ecx
push edx
push dword [ebp - 0xc]
call fcn.004a21f0
mov ecx, dword [ebp - 0x194]
add esp, 0xc
cmp eax, 0xffffffff
je 0x4ac73c
xor eax, eax
jmp 0x4ac6f2
mov dword [ebp - 0x194], ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x194]
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xd8], edx
mov eax, 0x26
jmp 0x4ac6f2
mov eax, ecx
test ecx, ecx
jle 0x4ac6c5
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], esi
mov esi, dword [ebp - 0x188]
movzx edi, word [esi]
shl edi, 0x10
mov ecx, edi
shr ecx, 0x18
shr edi, 0x10
and edi, 0xff
shl edi, 8
or ecx, edi
mov word [edx], cx
add eax, 0xfffffffe
add edx, 2
add esi, 2
test eax, eax
jg 0x4ac782
jmp 0x4ac6ad
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x4ac7e5
push dword [ebp - 0x98]
push dword [ebp - 0x80]
push dword [ebp - 0xc0]
mov dword [ebp - 0x10], edx
call fcn.004e26a0
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
mov eax, dword [ebp - 0xa0]
cmp eax, 2
je 0x4aca38
cmp eax, 4
je 0x4ac9c6
cmp eax, 8
jne 0x4ac8ad
mov eax, dword [ebp - 0x98]
test eax, eax
jle 0x4ab862
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x80]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x1b4], eax
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
shl edx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, edx
mov dword [esi], eax
mov edi, ecx
shr edi, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or edi, eax
mov eax, dword [ebp - 0x1b4]
mov edx, ecx
and edx, 0xff00
shl edx, 8
or edi, edx
shl ecx, 0x18
or edi, ecx
mov ecx, dword [ebp - 0x80]
mov dword [esi + 4], edi
add eax, 0xfffffff8
add esi, 8
add ecx, 8
mov dword [ebp - 0x80], ecx
test eax, eax
jg 0x4ac823
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
cmp eax, 0x10
jne 0x4ab862
mov eax, dword [ebp - 0x98]
test eax, eax
jle 0x4ab862
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ecx]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ecx + 8]
mov esi, edi
shr esi, 0x18
mov ecx, edi
and ecx, 0xff0000
shr ecx, 8
or esi, ecx
mov ecx, edi
shl edi, 0x18
and ecx, 0xff00
shl ecx, 8
or esi, ecx
or esi, edi
mov edi, eax
mov ecx, dword [ebp - 0xc0]
and edi, 0xff0000
mov dword [ecx], esi
mov esi, eax
shr esi, 0x18
shr edi, 8
or esi, edi
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
shl eax, 0x18
or esi, eax
mov dword [ecx + 4], esi
mov edi, edx
shr edi, 0x18
mov esi, edx
mov eax, edx
and esi, 0xff0000
and eax, 0xff00
shr esi, 8
or edi, esi
shl eax, 8
or edi, eax
mov esi, dword [ebp - 0x1ac]
shl edx, 0x18
or edi, edx
mov dword [ecx + 8], edi
mov edi, esi
shr edi, 0x18
mov edx, esi
and edx, 0xff0000
shr edx, 8
or edi, edx
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edi, eax
or edi, esi
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + 0xc], edi
add eax, 0xfffffff0
add ecx, 0x10
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x10
mov dword [ebp - 0x80], ecx
test eax, eax
jg 0x4ac8cd
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
mov eax, dword [ebp - 0x98]
test eax, eax
jle 0x4ab862
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0xc], edi
mov ecx, dword [esi]
mov edx, ecx
shr edx, 0x18
mov edi, ecx
add eax, 0xfffffffc
add esi, 4
and edi, 0xff0000
shr edi, 8
or edx, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or edx, edi
or edx, ecx
mov ecx, dword [ebp - 0xc0]
mov dword [ecx], edx
add ecx, 4
mov dword [ebp - 0xc0], ecx
test eax, eax
jg 0x4ac9e0
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
mov eax, dword [ebp - 0x98]
test eax, eax
jle 0x4ab862
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xc], edi
movzx edi, word [ecx]
shl edi, 0x10
mov edx, edi
shr edx, 0x18
shr edi, 0x10
and edi, 0xff
shl edi, 8
or edx, edi
mov word [esi], dx
add eax, 0xfffffffe
add esi, 2
add ecx, 2
test eax, eax
jg 0x4aca58
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x4ab862
mov eax, dword [edi + 0x128]
mov dword [ebp - 0xb4], eax
cmp eax, 0xb
jne 0x4ab423
movsx eax, byte [edi + 0x144]
cmp eax, 4
je 0x4acac2
cmp eax, 5
jne 0x4ab423
mov eax, dword [edi + 0x38]
neg eax
add eax, dword [ebp - 0xb0]
cmp eax, 0x20000
jb 0x4ab423
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0x10]
jmp 0x4ab6cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xd8], eax
test edx, edx
je 0x4acb69
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4acb39
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4acb21
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xd8], eax
test edx, edx
je 0x4acc0e
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4acbde
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4acbc6
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x84]
sub dword [ebp - 0xb0], edx
test eax, eax
je 0x4ace8e
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xa0]
lea ecx, [eax - 1]
not ecx
and dword [ebp - 0xb0], ecx
cmp eax, 2
je 0x4acee6
cmp eax, 4
je 0x4ace2c
cmp eax, 8
jne 0x4acd1a
mov eax, dword [ebp - 0xb0]
test eax, eax
jle 0x4acea3
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0xc], edi
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x160], eax
mov eax, ecx
shr eax, 0x18
mov edi, ecx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, ecx
mov dword [edx], eax
mov edi, esi
shr edi, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edi, eax
mov eax, dword [ebp - 0x160]
mov ecx, esi
and ecx, 0xff00
shl ecx, 8
or edi, ecx
shl esi, 0x18
or edi, esi
mov esi, dword [ebp - 0x168]
mov dword [edx + 4], edi
add esi, 0xfffffff8
add edx, 8
add eax, 8
mov dword [ebp - 0x168], esi
test esi, esi
jg 0x4acc99
mov edi, dword [ebp - 0xc]
mov edx, dword [edi + 0x3c]
jmp 0x4acea3
cmp eax, 0x10
jne 0x4acea3
mov eax, dword [ebp - 0xb0]
test eax, eax
jle 0x4acea3
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0x160]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x15c], edi
mov edi, ecx
mov dword [ebp - 0x158], esi
and edi, 0xff0000
mov esi, dword [eax + 8]
mov eax, ecx
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
or eax, edi
shl ecx, 0x18
or eax, ecx
mov dword [edx], eax
mov edi, esi
shr edi, 0x18
mov ecx, esi
and ecx, 0xff0000
shr ecx, 8
or edi, ecx
mov ecx, dword [ebp - 0x158]
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edi, eax
or edi, esi
mov dword [edx + 4], edi
mov edi, ecx
shr edi, 0x18
mov esi, ecx
and esi, 0xff0000
shr esi, 8
or edi, esi
mov esi, dword [ebp - 0x15c]
mov eax, ecx
and eax, 0xff00
shl eax, 8
or edi, eax
shl ecx, 0x18
or edi, ecx
mov dword [edx + 8], edi
mov edi, esi
shr edi, 0x18
mov eax, esi
mov ecx, esi
and eax, 0xff0000
and ecx, 0xff00
shr eax, 8
or edi, eax
shl ecx, 8
or edi, ecx
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x160]
shl esi, 0x18
or edi, esi
mov dword [edx + 0xc], edi
add ecx, 0xfffffff0
mov dword [ebp - 0x164], ecx
add edx, 0x10
add eax, 0x10
test ecx, ecx
mov dword [ebp - 0x160], eax
jg 0x4acd3a
mov edi, dword [ebp - 0xc]
mov edx, dword [edi + 0x3c]
jmp 0x4acea3
mov eax, dword [ebp - 0xb0]
test eax, eax
jle 0x4acea3
mov esi, dword [ebp - 0x160]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc], edi
mov ecx, dword [esi]
mov edx, ecx
shr edx, 0x18
mov edi, ecx
add eax, 0xfffffffc
add esi, 4
and edi, 0xff0000
shr edi, 8
or edx, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or edx, edi
or edx, ecx
mov ecx, dword [ebp - 0xc0]
mov dword [ecx], edx
add ecx, 4
mov dword [ebp - 0xc0], ecx
test eax, eax
jg 0x4ace45
mov edi, dword [ebp - 0xc]
mov edx, dword [edi + 0x3c]
jmp 0x4acea3
push dword [ebp - 0xb0]
push dword [ebp - 0x80]
push edx
call fcn.004e26a0
add esp, 0xc
mov edx, dword [edi + 0x3c]
mov eax, dword [ebp - 0xb0]
sub dword [ebp - 0x98], eax
add edx, eax
mov dword [edi + 0x3c], edx
add dword [ebp - 0x80], eax
push edi
call fcn.004a26f0
pop ecx
test eax, eax
jne 0x4acf49
mov edx, dword [edi + 0x40]
test edx, edx
je 0x4acf2d
xor eax, eax
mov byte [edx + 2], al
mov edx, dword [edi + 0x40]
mov byte [edx + 3], al
mov edx, dword [edi + 0x40]
add edx, 4
mov dword [edi + 0x3c], edx
jmp 0x4ab69a
mov esi, dword [ebp - 0xb0]
test esi, esi
jle 0x4acea3
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0xc], edi
movzx edi, word [ecx]
shl edi, 0x10
mov eax, edi
shr eax, 0x18
shr edi, 0x10
and edi, 0xff
shl edi, 8
or eax, edi
mov word [edx], ax
add esi, 0xfffffffe
add edx, 2
add ecx, 2
test esi, esi
jg 0x4acef9
mov edi, dword [ebp - 0xc]
mov edx, dword [edi + 0x3c]
jmp 0x4acea3
mov edx, dword [edi + 0x38]
xor eax, eax
mov byte [edx + 2], al
mov ecx, dword [edi + 0x38]
mov byte [ecx + 3], al
mov edx, dword [edi + 0x38]
add edx, 4
mov dword [edi + 0x3c], edx
jmp 0x4ab69a
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4acfaf
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4acf84
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4acf71
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0xbc]
cmp eax, 0x20000
jae 0x4acffc
mov eax, dword [ebp - 0xb4]
cmp eax, 0xb
je 0x4abc82
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x6c], esi
jmp 0x4ab423
mov eax, dword [ebp - 0xc0]
or byte [edi + 0x15d], 4
mov dword [edi + 0x40], eax
push 0
push dword [edi + 0x38]
mov dword [ebp - 0x10], edx
push edi
call fcn.004a21f0
mov edx, dword [ebp - 0x10]
add esp, 0xc
cmp eax, 0xffffffff
je 0x4ad03c
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xc0], ecx
jmp 0x4ab7af
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ad0b0
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ad080
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ad068
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x80], edi
mov edi, eax
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 8], eax
mov esi, edx
test edi, edi
jne 0x4ad11b
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x10]
jmp 0x4ab388
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x10]
jmp 0x4ab0cb
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x80], edi
mov edi, eax
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x94], ecx
mov esi, edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x10]
jmp 0x4ab388
cmp edi, dword [ebp + edx - 0x12c]
jg 0x4aacff
mov edi, dword [ebp + edx - 0x138]
imul edi, dword [ebp + edx - 0x130]
cmp edi, dword [ebp + edx - 0x124]
jne 0x4aacff
inc ecx
cmp ecx, eax
jl 0x4ab069
mov edi, dword [ebp - 0x1b8]
jmp 0x4aaf90
xor edi, edi
jmp 0x4aad42
xor ecx, ecx
jmp 0x4aaf1f
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x118]
test eax, eax
je 0x4ad285
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov dword [edi + 0x118], 0
test eax, eax
je 0x4ad1f2
sub edx, eax
jmp 0x4ad1f7
mov eax, dword [edi + 0x38]
sub edx, eax
jne 0x4ad285
movzx eax, byte [edi + 0x15f]
test al, 1
je 0x4ad38c
mov eax, edi
call fcn.004ade50
test eax, eax
je 0x4ad370
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ad434
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ad25a
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ad247
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [edi + 0x128]
cmp eax, 7
jne 0x4ad2cf
mov edx, dword [edi + 0x134]
test edx, edx
jl 0x4ad687
mov ecx, dword [edi + 0x3c]
neg edx
add edx, 0xffffff80
mov byte [edi + 0x14e], dl
mov byte [ecx], dl
mov esi, dword [edi + 0x3c]
movzx eax, byte [edi + 0x14e]
mov edx, dword [edi + 0x38]
inc esi
mov dword [edi + 0x3c], esi
sub esi, eax
sub esi, edx
add esi, 0xfffffffe
js 0x4ad454
mov byte [edx + esi], al
movsx eax, byte [edi + 0x144]
cmp eax, 3
je 0x4ad95c
movzx eax, byte [edi + 0x15f]
test al, 1
jne 0x4ad2fb
test al, 0x40
jne 0x4ad910
push edi
call fcn.004a26f0
pop ecx
jmp 0x4ad302
mov eax, edi
call fcn.004ade50
test eax, eax
je 0x4ad370
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ad91c
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ad345
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ad332
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
add dword [edi + 0x90], 1
adc dword [edi + 0x94], 0
and byte [edi + 0x15f], 0xfb
and byte [edi + 0x160], 0xbf
push dword [edi + 0xf0]
and byte [edi + 0x15c], 0xdc
and byte [edi + 0x15e], 0xf7
call fcn.0048ffe0
pop ecx
test eax, eax
je 0x4ad414
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ad93c
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ad3e9
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ad3d6
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x150]
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov dword [edx + 4], 0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [esp + 4], esi
mov eax, esi
cdq
mov eax, dword [edi + 0xd4]
mov dword [esp + 8], edx
mov edx, 1
call fcn.00487040
inc eax
inc edx
or eax, edx
jne 0x4ad4ed
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ad63d
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ad4bd
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ad4a5
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
lea eax, [edi + 0x14e]
push eax
push edi
call fcn.004a21f0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4ad57c
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ad662
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ad54c
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ad534
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
neg esi
dec esi
mov dword [esp + 4], esi
mov eax, esi
cdq
mov eax, dword [edi + 0xd4]
mov dword [esp + 8], edx
mov edx, 1
call fcn.00487040
inc eax
inc edx
or eax, edx
jne 0x4ad2cf
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ad618
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ad5e8
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ad5d0
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
sub edx, eax
cmp edx, 1
jg 0x4ad86c
push edi
call fcn.004a26f0
pop ecx
test eax, eax
je 0x4ad70d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ad8ad
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ad6e2
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ad6cf
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
and byte [edi + 0x160], 0xbf
push 0
push edi
call fcn.004a0de0
add esp, 8
test eax, eax
je 0x4ad79b
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ad8cd
movzx eax, byte [edx + 0x44]
test al, 2
je 0x4ad76b
mov eax, 0x26
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4ad753
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [edi + 0x15c]
and edx, 7
mov eax, 0x26
push eax
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsx eax, byte [edi + 0x144]
dec eax
cmp eax, 7
ja case.default.0x4ad7b3
mov eax, dword [eax*4 + 0x4fd704]
jmp eax
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ad7c1
mov dword [edi + 0x3c], eax
jmp 0x4ad7c7
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xe8]
lea ecx, [eax + edx - 1]
mov dword [edi + 0x44], ecx
jmp 0x4ad86c
mov edx, dword [edi + 0x40]
mov eax, 1
mov word [ebp - 0x1b8], ax
test edx, edx
je 0x4ad8f2
mov byte [edx + 2], al
mov eax, dword [edi + 0x40]
mov byte [eax + 3], 0
mov eax, dword [edi + 0x40]
add eax, 4
mov edx, dword [edi + 0xe8]
mov dword [edi + 0x3c], eax
add edx, eax
mov dword [edi + 0x44], edx
jmp 0x4ad86c
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ad81c
add eax, 4
jmp 0x4ad822
mov eax, dword [edi + 0x38]
add eax, 4
mov edx, dword [edi + 0xe8]
mov dword [edi + 0x3c], eax
lea ecx, [eax + edx - 8]
mov dword [edi + 0x44], ecx
jmp 0x4ad86c
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4ad840
mov dword [edi + 0x3c], eax
jmp 0x4ad846
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xe8]
mov dword [edi + 0x44], edx
jmp 0x4ad86c
push 0xadd
push str.for_wseq.c
push 2
push 8
call fcn.00492dd0
add esp, 0x10
mov eax, dword [edi + 0x3c]
mov byte [edi + 0x14e], 0x81
mov byte [eax], 0x81
mov ecx, dword [edi + 0x3c]
movzx edx, byte [edi + 0x14e]
mov esi, dword [edi + 0x44]
inc ecx
mov dword [edi + 0x3c], ecx
xor eax, eax
cmp edx, 0x81
sete al
sub esi, ecx
sub edx, eax
mov dword [edi + 0x134], edx
cmp esi, edx
jb 0x4ad8a2
mov esi, edx
mov dword [edi + 0x138], esi
jmp 0x4ad2a1
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [edi + 0x38]
mov byte [esi + 2], al
movzx eax, byte [ebp - 0x1b7]
mov edx, dword [edi + 0x38]
mov byte [edx + 3], al
mov eax, dword [edi + 0x38]
add eax, 4
jmp 0x4ad800
mov eax, edi
call fcn.004ae490
jmp 0x4ad302
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 0
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x4ad984
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
shl edx, 8
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov ecx, dword [edi + 0x40]
shr eax, 8
mov byte [ecx + 3], al
jmp 0x4ad2df
mov ecx, dword [edi + 0x38]
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
shl edx, 8
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov esi, dword [edi + 0x38]
shr eax, 8
mov byte [esi + 3], al
jmp 0x4ad2df
mov edi, dword [ebp - 0xc]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4ada11
movzx edx, byte [ecx + 0x44]
test dl, 2
je 0x4ad9e6
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ad9d3
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx edx, byte [edi + 0x15c]
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00495320
add esp, 0x14
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.00490ca0
add esp, 0x10
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
xor eax, eax
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret