Function at 0x493080
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
push esi
push edi
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x74], eax
mov eax, dword [edx]
mov ebx, dword [edx + 0x7c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x58], eax
xor eax, eax
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x68], eax
mov eax, ecx
shr eax, 0x13
and eax, 1
mov dword [ebp - 8], ebx
mov dword [ebp - 0x38], eax
mov eax, ecx
shr eax, 2
and eax, 1
xor edi, edi
mov dword [ebp - 0x6c], eax
mov eax, dword [edx + 0x20]
and esi, 8
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x90], esi
je 0x49310d
mov dword [ebx], 0x80090000
jmp 0x493119
test byte [ebp - 0x58], 4
je 0x493126
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov dword [ebp - 8], ebx
test ecx, 0x2000000
je 0x493283
mov esi, dword [ebp + 8]
cmp esi, eax
jae 0x4931f2
nop dword [eax]
cmp ebx, dword [ebp - 0x78]
jae 0x495806
cmp dword [ebp - 0x38], 0
mov edx, esi
movzx ecx, word [esi]
mov dword [ebp - 0x54], ecx
lea esi, [edx + 2]
je 0x49318a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493187
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 0x6c], 0
je 0x4931e2
mov dword [ebp - 0x24], edi
test edi, edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x70], ebx
je 0x493261
mov ecx, dword [ebp - 0x24]
add edi, 0x1c
mov eax, edx
sub eax, dword [edi]
sar eax, 1
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
lea eax, [ebx - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x54]
jne 0x493264
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0xff
jne 0x493264
mov eax, ebx
sub edx, dword [edi]
mov ebx, eax
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
sar edx, 1
mov dword [edi + 4], edx
mov dword [ebx], ecx
add ebx, 4
cmp esi, eax
jb 0x493140
mov edx, dword [ebp + 0x14]
mov ecx, ebx
test edi, edi
je 0x493205
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, dword [edi + 4]
mov dword [edi + 8], eax
cmp dword [ebp - 0x6c], 0
je 0x493242
test edi, edi
je 0x49321f
lea eax, [ebx - 0x10]
cmp edi, eax
jne 0x49321f
cmp dword [edi + 0xc], 0xff
je 0x493238
mov edi, ebx
mov dword [ebx], 0x80060000
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
mov dword [edi + 4], eax
cmp dword [ebp - 0x90], 0
je 0x4957eb
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x4957fe
add edi, 0x1c
mov dword [ebp - 0x24], ebx
lea eax, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
jmp 0x4931d3
mov esi, dword [edx + 0x28]
xor eax, eax
add esi, esi
mov dword [ebp - 0x40], eax
mov eax, esi
mov dword [ebp - 0x10], 0xc
xor edx, edx
div dword [ebp - 0x10]
sub esi, edx
mov edx, dword [ebp + 0x14]
add esi, dword [edx + 0x14]
mov dword [ebp - 0x54], esi
mov esi, ecx
or esi, 0x80
test ecx, 0x1000000
mov eax, esi
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
cmove eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
xor eax, eax
jmp 0x4932e0
mov esi, dword [ebp + 8]
add ebx, 4
mov dword [ebp - 8], ebx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
nop dword [eax + eax]
mov edi, dword [ebp - 4]
movzx eax, di
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x84], eax
cmp esi, ecx
jae 0x4957c8
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x10], 0
cmp ebx, dword [ebp - 0x78]
jae 0x495806
mov ecx, dword [edx]
mov eax, dword [ebp - 4]
movzx eax, ax
cmp eax, dword [ecx + 0x20]
ja 0x4957af
cmp dword [ebp - 0x38], 0
mov eax, esi
movzx edi, word [esi]
mov dword [ebp - 0xc], eax
mov ecx, edi
mov dword [ebp - 0x20], edi
lea esi, [eax + 2]
mov dword [ebp + 8], esi
mov edx, esi
je 0x49336e
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49336e
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x20], edi
mov ecx, edi
mov dword [ebp + 8], esi
mov edx, esi
cmp dword [ebp - 0x48], 0
je 0x4933e5
cmp ecx, 0x5c
jne 0x493395
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jae 0x493395
cmp word [esi], 0x45
jne 0x493395
mov dword [ebp - 0x48], 0
add esi, 2
jmp 0x4932d5
cmp dword [ebp - 0x64], 0
jg case.0x49377e.34
cmp dword [ebp - 0x68], 0
jne 0x4933d7
mov ecx, dword [ebp - 0x60]
mov eax, ecx
dec ecx
mov dword [ebp - 0x60], ecx
test eax, eax
jg 0x4933d0
push dword [ebp + 0x14]
lea eax, [ebp - 0x5c]
push ebx
push dword [ebp - 0x6c]
push eax
push dword [ebp - 0xc]
call fcn.00493000
mov ebx, eax
add esp, 0x14
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 1
mov dword [ebx], edi
mov dword [ebp - 0x4c], 0
jmp 0x4932cc
cmp dword [ebp - 0x68], 0
je 0x49351c
mov eax, dword [ebp - 0x18]
and eax, 0x400080
cmp eax, 0x400080
jne 0x49344c
cmp ecx, 0xff
jbe 0x493419
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x493419
cmp eax, 0x2029
jne 0x49344c
mov edx, dword [ebp + 0x14]
cmp edi, 0x100
jae 0x49351f
cmp edi, 0x23
je 0x49351f
mov eax, dword [edx + 0x10]
test byte [edi + eax], 1
jne 0x49351f
cmp edi, 0x85
je 0x49351f
jmp 0x49344f
mov edx, dword [ebp + 0x14]
cmp edi, 0x29
je 0x4934d1
cmp edi, 0x5c
je 0x493469
mov ecx, dword [ebp + 0xc]
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov ecx, dword [ebp - 0x18]
test ecx, 0x400000
je 0x4934ca
mov eax, dword [edx]
push edx
push 0
push dword [eax + 0x24]
lea eax, [ebp - 0x14]
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.0048d4d0
mov ecx, dword [ebp - 0x14]
add esp, 0x20
test ecx, ecx
jne 0x495507
sub eax, ecx
je 0x4934c4
sub eax, 0x19
je 0x495080
mov esi, dword [ebp + 8]
sub eax, 1
jne 0x495438
mov dword [ebp - 0x48], 1
jmp 0x4932d2
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov dword [ebx], edi
jmp 0x4932cc
mov eax, esi
mov dword [ebp - 0x68], 0
sub eax, dword [ebp - 0x70]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x495451
mov ecx, dword [ebp - 0x80]
mov eax, ebx
sub eax, ecx
sar eax, 2
dec eax
cmp dword [ebp - 0x74], 0
mov dword [ecx], eax
mov ecx, dword [ebp + 0xc]
je 0x4932e0
mov eax, dword [ebp - 0x74]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
mov dword [ebp - 0x74], 0
jmp 0x4932e0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
cmp edi, 0x5c
jne 0x49354e
cmp esi, ecx
jae 0x49354e
movzx eax, word [esi]
cmp eax, 0x51
je 0x49353b
cmp eax, 0x45
jne 0x49354e
cmp eax, 0x51
mov eax, 0
sete al
add esi, 2
mov dword [ebp - 0x48], eax
jmp 0x4932e0
test byte [ebp - 0x18], 0x80
je 0x49365b
cmp edi, 0x100
jae 0x49356d
mov eax, dword [edx + 0x10]
test byte [edi + eax], 1
jne 0x4932e0
cmp edi, 0x85
je 0x4932e0
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x4932e0
cmp eax, 0x2029
je 0x4932e0
cmp edi, 0x23
jne 0x49365b
cmp esi, ecx
jae 0x4932e0
nop word [eax + eax]
mov eax, dword [edx + 0x90]
lea edi, [edx + 0x94]
mov ecx, dword [edx + 0x20]
test eax, eax
je 0x49361f
cmp esi, ecx
jae 0x4935e1
push dword [ebp - 0x38]
push edi
push ecx
push eax
push esi
call fcn.0048b2e0
add esp, 0x14
test eax, eax
je 0x4935e1
mov eax, 1
jmp 0x4935e3
xor eax, eax
test eax, eax
jne 0x49364d
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
add esi, 2
cmp dword [ebp - 0x38], 0
mov eax, esi
je 0x493616
cmp esi, ecx
jae 0x493616
mov ax, word [esi]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4935b0
add esi, 2
mov eax, esi
cmp eax, ecx
jb 0x4935b0
jmp 0x4932e0
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4935e7
mov ecx, dword [ebp + 0x14]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x493657
cmp edx, 1
je 0x49364d
mov ax, word [esi + 2]
mov edx, ecx
cmp ax, word [edx + 0xa2]
jne 0x4935ea
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x4932d2
mov edx, ecx
jmp 0x4935ea
cmp edi, 0x28
jne 0x4936a1
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x4936d1
cmp word [esi], 0x3f
jne 0x4936d1
cmp word [esi + 2], 0x23
jne 0x4936d1
nop dword [eax]
add esi, 2
cmp esi, ecx
jae 0x49546d
cmp word [esi], 0x29
jne 0x493680
cmp esi, ecx
jae 0x49546d
add esi, 2
jmp 0x4932e0
cmp edi, 0x2a
je 0x4936ff
cmp edi, 0x2b
je 0x4936ff
cmp edi, 0x3f
je 0x4936ff
cmp edi, 0x7b
jne 0x4936d1
lea eax, [ebp - 0x14]
mov dword [ebp - 0x50], esi
push eax
push 0
push 0
push ecx
lea eax, [ebp - 0x50]
push eax
call fcn.00497010
add esp, 0x14
test eax, eax
jne 0x4936ff
mov ecx, dword [ebp - 0x60]
mov eax, ecx
dec ecx
mov dword [ebp - 0x60], ecx
test eax, eax
jg 0x4936ff
push dword [ebp + 0x14]
lea eax, [ebp - 0x5c]
push ebx
push dword [ebp - 0x6c]
push eax
push dword [ebp - 0xc]
call fcn.00493000
mov ebx, eax
add esp, 0x14
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x64]
test edx, edx
jle case.0x49377e.33
cmp edi, 0x28
jne case.0x49377e.34
mov eax, dword [ebp + 0xc]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x49377e.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x493745
cmp eax, 0x2a
je 0x49374b
sub esi, 2
mov eax, dword [ebp + 0x14]
mov ecx, 0x80
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi], 0x2a
jne 0x49376b
movzx eax, word [esi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x493767
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
jne case.0x49377e.33
xor eax, eax
jmp 0x4937a2
movzx eax, word [esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x49377e.34
movzx eax, byte [eax + 0x495860]
jmp dword [eax*4 + 0x495850]
xor eax, eax
cmp edx, 2
sete al
jmp 0x4937a2
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x49379d
cmp eax, 0x21
jne case.0x49377e.34
mov eax, 1
test eax, eax
je case.0x49377e.34
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc], edx
mov edx, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x4c], 0
test eax, eax
je 0x493803
cmp edi, 0x3f
je 0x4937d7
cmp edi, 0x2b
jne 0x493803
cmp edi, 0x3f
mov ecx, 0x10000
mov edi, 0x20000
cmove ecx, edi
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + ebx], ecx
jmp 0x4932d2
lea eax, [edi - 0x24]
cmp eax, 0x58
ja case.0x493816.37
movzx eax, byte [eax + 0x4958b8]
jmp dword [eax*4 + 0x495884]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp + 0x14]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x14]
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.0048d4d0
mov ecx, dword [ebp - 0x14]
add esp, 0x20
mov edi, eax
test ecx, ecx
jne 0x493a29
test edi, edi
je 0x493b52
js 0x493afa
lea ecx, [edi - 6]
cmp ecx, 0x16
ja case.0x493873.13
movzx eax, byte [ecx + 0x49592c]
jmp dword [eax*4 + 0x495914]
test dword [ebp - 0x18], 0x100000
mov esi, dword [ebp + 8]
je 0x493893
mov ecx, 0xb7
mov dword [ebp - 0x14], ecx
jmp 0x493a2c
lea eax, [edi - 0x7fe80000]
mov dword [ebp - 0x1c], 1
mov dword [ebx], eax
add ebx, 4
jmp 0x4932cf
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00492910
add esp, 0x18
test eax, eax
je 0x493a26
cmp dword [ebp - 0x88], 0
je 0x4938f4
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
movzx ecx, word [ebp - 0xc]
lea eax, [edi - 0x7fe80000]
mov esi, dword [ebp + 8]
mov dword [ebx], eax
movzx eax, word [ebp - 0x20]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x1c], 1
mov dword [ebx + 4], ecx
add ebx, 8
jmp 0x4932cf
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x493a5c
movzx ecx, word [esi]
cmp ecx, 0x7b
je 0x493942
cmp ecx, 0x3c
je 0x4939ac
cmp ecx, 0x27
jne 0x493a5c
cmp ecx, 0x27
mov eax, 0x7d
mov ecx, 0x27
cmove eax, ecx
mov dword [ebp - 0xc], eax
cmp edi, 0x1b
jne 0x4939c7
cmp eax, 0x7d
je 0x4939c7
lea eax, [esi + 2]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp - 0x20]
push edx
push eax
call fcn.00496ec0
add esp, 0x1c
test eax, eax
je 0x4939bd
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jae 0x4939b3
movzx eax, word [ecx]
cmp eax, dword [ebp - 0xc]
jne 0x4939b3
mov eax, dword [ebp - 0x34]
mov esi, ecx
mov ecx, edx
jmp 0x49512b
mov eax, 0x3e
jmp 0x493952
mov ecx, 0x9d
mov dword [ebp - 0x14], ecx
jmp 0x493a2f
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x493a2c
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x14]
mov esi, dword [ebp - 0xc]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x493a26
cmp edi, 0x1c
je 0x493a01
mov eax, 0x80210000
cmp esi, 0x7d
jne 0x493a06
mov eax, 0x80040000
mov dword [ebx], eax
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
test byte [ebp - 0x58], 2
je 0x49583a
mov eax, dword [ebp - 0x50]
mov esi, eax
cmp eax, edx
jb 0x493b69
mov ecx, 0x5c
mov dword [ebp - 0x1c], 1
mov dword [ebx], ecx
add ebx, 4
jmp 0x4932cf
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x14], ecx
jmp 0x493a2f
mov esi, dword [ebp + 8]
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
test dword [ebp - 0x18], 0x20000
mov dword [ebp - 0x1c], 1
jne 0x493aa8
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
jmp 0x4932c9
cmp edi, 7
je 0x493abc
cmp edi, 9
je 0x493abc
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x493ac1
mov eax, 0x80180010
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp ecx, 5
ja case.default.0x493ad2
jmp dword [ecx*4 + 0x495944]
mov dword [ebx], 0x3000d
jmp 0x4932c9
mov dword [ebx], 0x70000
jmp 0x4932c9
mov dword [ebx], 0x90000
jmp 0x4932c9
mov edx, dword [ebp + 0x14]
neg edi
mov esi, dword [ebp + 8]
mov eax, edi
mov ecx, esi
or eax, 0x80030000
sub ecx, dword [edx + 0x1c]
sar ecx, 1
dec ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], ebx
cmp edi, 0xa
jge 0x493b3b
cmp dword [edx + edi*4 + 0x2c], 0xffffffff
jne 0x493b43
mov dword [edx + edi*4 + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 1
jmp 0x4932e0
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 8], ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 1
jmp 0x4932e0
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp + 8]
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
cmp dword [ebp - 0x38], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
je 0x493b9f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b9f
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
mov dword [ebx], 0x80090000
jmp 0x4932cc
mov dword [ebx], 0x80160000
jmp 0x4932cc
mov dword [ebx], 0x80170000
add ebx, 4
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
mov dword [ebp - 0x4c], 0x80340000
jmp 0x493c3e
mov dword [ebp - 0x4c], 0x80370000
jmp 0x493c3e
mov dword [ebp - 0x4c], 0x803a0000
jmp 0x493c3e
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.00497010
add esp, 0x14
test eax, eax
jne 0x493c34
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x495507
mov esi, dword [ebp + 8]
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x1c], 1
jmp 0x4932cf
mov esi, dword [ebp + 8]
mov dword [ebp - 0x4c], 0x803d0000
cmp dword [ebp - 0x2c], 0
je 0x495486
cmp dword [ebx - 4], 0x802a0000
lea ecx, [ebx - 4]
jne 0x493c7c
mov edx, dword [ebp - 0x7c]
cmp ecx, edx
jb 0x493c6c
nop dword [eax + eax]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x493c60
mov dword [edx], 0x801a0000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp edi, 0x7b
jne 0x4932e0
mov eax, dword [ebp - 0x28]
mov dword [ebx], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x1c], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x493d66
push 6
push 0x4e0328
push esi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
je 0x493cee
push 6
push str._:_:__
push esi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
jne 0x493d63
mov dword [ebx], 0x80180005
lea eax, [ebx + 8]
cmp word [esi + 4], 0x3c
jne 0x493d07
mov dword [ebx + 4], 0x80230000
jmp 0x493d20
mov ecx, dword [ebp + 0x10]
mov dword [ebx + 4], 0x80250000
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [ebp - 0x18], 0x20000
lea ebx, [eax + 4]
jne 0x493d43
mov dword [eax], 0x8018000b
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
jmp 0x4932cf
mov dword [eax], 0x80180010
mov dword [ebx], 0x90000
add ebx, 4
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
jmp 0x4932cf
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x493d95
movzx eax, word [esi]
cmp eax, 0x3a
je 0x493d7c
cmp eax, 0x2e
je 0x493d7c
cmp eax, 0x3d
jne 0x493d95
lea eax, [ebp - 0x50]
push eax
push ecx
push esi
call fcn.0048e750
add esp, 0xc
test eax, eax
jne 0x4954a2
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0xc], eax
cmp esi, ecx
jae 0x493e73
mov ebx, dword [ebp - 0x18]
movzx edi, word [esi]
add esi, 2
cmp dword [ebp - 0x38], 0
mov ecx, edi
mov dword [ebp - 0x20], edi
mov edx, esi
mov dword [ebp + 8], esi
je 0x493df2
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493def
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x20], edi
mov ecx, edi
mov dword [ebp + 8], esi
mov edx, esi
mov eax, dword [ebp - 0xc]
cmp ecx, 0x5c
jne 0x493e3d
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jae 0x493e0f
cmp word [esi], 0x45
jne 0x493e0f
mov eax, dword [ebp - 0xc]
lea esi, [edx + 2]
mov dword [ebp + 8], esi
jmp 0x493e68
mov eax, ecx
sub eax, edx
and eax, 0xfffffffe
cmp eax, 6
jl 0x493e70
push 3
push 0x4e0338
push esi
call fcn.0048b0c0
mov ecx, dword [ebp + 0xc]
add esp, 0xc
test eax, eax
jne 0x493e70
mov eax, dword [ebp - 0xc]
add esi, 6
mov dword [ebp + 8], esi
jmp 0x493e68
test ebx, 0x1000000
je 0x493e4f
cmp ecx, 0x20
je 0x493e65
cmp ecx, 9
je 0x493e65
mov ecx, dword [ebp + 0xc]
test eax, eax
jne 0x493e70
cmp edi, 0x5e
jne 0x493e70
mov eax, 1
mov dword [ebp - 0xc], eax
jmp 0x493e68
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jb 0x493da5
mov ebx, dword [ebp - 8]
cmp edi, 0x5d
jne 0x493e9f
mov edx, dword [ebp + 0x14]
test byte [edx + 0x6c], 1
je 0x493e9f
cmp dword [ebp - 0xc], 0
mov eax, 0x800b0000
mov edi, 0x800c0000
cmovne eax, edi
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x4932e0
cmp dword [ebp - 0xc], 0
mov eax, 0x800a0000
mov ecx, 0x800e0000
mov dword [ebp - 0x1c], 1
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov eax, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 8], edx
mov ecx, 1
mov dword [ebp - 0x2c], ecx
test eax, eax
je 0x493efb
cmp edi, 0x5c
jne 0x4942bd
cmp esi, dword [ebp + 0xc]
jae 0x4942bd
cmp word [esi], 0x45
jne 0x4942bd
mov dword [ebp - 0x48], 0
add esi, 2
jmp 0x494302
test dword [ebp - 0x18], 0x1000000
je 0x493f16
cmp edi, 0x20
je 0x494302
cmp edi, 9
je 0x494302
cmp edi, 0x5b
jne 0x494088
mov eax, dword [ebp + 0xc]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x4942bd
movzx eax, word [esi]
cmp eax, 0x3a
je 0x493f46
cmp eax, 0x2e
je 0x493f46
cmp eax, 0x3d
jne 0x4942bd
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0048e750
add esp, 0xc
test eax, eax
je 0x4942b7
cmp dword [ebp - 8], 1
mov dword [ebp - 0xc], 0
je 0x495521
cmp word [esi], 0x3a
jne 0x4954c7
add esi, 2
mov eax, esi
cmp word [esi], 0x5e
jne 0x493f90
add esi, 2
mov dword [ebp - 0xc], 1
mov eax, esi
mov edx, dword [ebp - 0x50]
mov ecx, str.alpha
sub edx, eax
mov dword [ebp - 0x10], ecx
sar edx, 1
xor edi, edi
mov dword [ebp - 0x2c], edx
movzx eax, byte [edi + 0x5004d4]
cmp edx, eax
jne 0x493fc4
push edx
push ecx
push esi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
je 0x493ff4
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edi + 0x5004d4]
inc ecx
inc edi
add ecx, eax
mov dword [ebp - 0x10], ecx
cmp byte [edi + 0x5004d4], 0
jne 0x493fa4
mov eax, dword [ebp + 0x14]
mov ecx, 0x82
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
js 0x493fdb
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp + 0xc]
add esi, 4
add eax, 0xfffffffe
cmp esi, eax
jae 0x494019
cmp word [esi], 0x2d
jne 0x494019
cmp word [esi + 2], 0x5d
jne 0x495521
xor edx, edx
test dword [ebp - 0x18], 0x20000
mov dword [ebp - 8], edx
je 0x494070
mov eax, dword [edi*8 + 0x53ba60]
mov ecx, dword [edi*8 + 0x53ba64]
test eax, eax
js 0x49405a
mov edx, dword [ebp - 0xc]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [ebx], edx
mov edx, dword [ebp - 8]
mov dword [ebx + 4], eax
add ebx, 8
jmp 0x494302
test ecx, ecx
je 0x494070
mov eax, dword [ebp - 0xc]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [ebx], eax
jmp 0x4942ff
mov eax, dword [ebp - 0xc]
add eax, 0x801c
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edi
add ebx, 8
jmp 0x494302
cmp edi, 0x2d
jne 0x4940b0
cmp edx, 2
jb 0x4942bd
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
lea edx, [edi - 0x2c]
cmove eax, ecx
mov dword [ebx], eax
jmp 0x4942fc
cmp edi, 0x5c
jne 0x4942bd
mov eax, dword [ebp + 0x14]
mov edi, esi
push eax
push 1
mov dword [ebp - 0x50], edi
mov eax, dword [eax]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x14]
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.0048d4d0
mov ecx, dword [ebp - 0x14]
add esp, 0x20
mov esi, eax
test ecx, ecx
je 0x494151
test byte [ebp - 0x58], 2
je 0x495507
mov eax, dword [ebp + 0xc]
mov esi, edi
cmp edi, eax
jb 0x494111
mov edi, 0x5c
xor ecx, ecx
jmp 0x4942ba
mov esi, dword [ebp - 0x10]
movzx edi, word [edi]
add esi, 2
cmp dword [ebp - 0x38], 0
je 0x49416c
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49416c
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add esi, 2
add edi, 0x10000
xor ecx, ecx
jmp 0x4942ba
mov eax, esi
cmp esi, 0x1a
ja case.0x49415f.1
movzx eax, byte [eax + 0x495974]
jmp dword [eax*4 + 0x49595c]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
xor ecx, ecx
jmp 0x4942ba
mov esi, dword [ebp + 8]
mov edi, 8
xor ecx, ecx
jmp 0x4942ba
mov dword [ebp - 0x48], 1
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 8]
jmp 0x494302
cmp dword [ebp - 8], 1
je 0x49551e
xor edx, edx
lea ecx, [esi - 6]
mov dword [ebp - 8], edx
cmp ecx, 0xf
ja case.0x4941b6.13
movzx eax, byte [ecx + 0x4959a4]
jmp dword [eax*4 + 0x495990]
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp case.default.0x49420d
test dword [ebp - 0x18], 0x20000
jne 0x4941e6
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp case.default.0x49420d
cmp esi, 7
je 0x4941fa
cmp esi, 9
je 0x4941fa
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x4941ff
mov eax, 0x80180010
mov dword [ebx], eax
add ebx, 4
cmp ecx, 5
ja case.default.0x49420d
jmp dword [ecx*4 + 0x4959b4]
mov dword [ebx], 0x3000d
add ebx, 4
jmp case.default.0x49420d
mov dword [ebx], 0x70000
add ebx, 4
jmp case.default.0x49420d
mov dword [ebx], 0x90000
add ebx, 4
jmp case.default.0x49420d
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x10], edx
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], edx
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00492910
add esp, 0x18
test eax, eax
je 0x4955e7
cmp dword [ebp - 0x8c], 0
je 0x494279
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
movzx ecx, word [ebp - 0x10]
lea eax, [esi - 0x7fe80000]
mov edx, dword [ebp - 8]
mov dword [ebx], eax
movzx eax, word [ebp - 0x28]
shl ecx, 0x10
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
add eax, 0xfffffffe
cmp esi, eax
jae 0x494302
cmp word [esi], 0x2d
jne 0x494302
cmp word [esi + 2], 0x5d
jne 0x495521
jmp 0x494302
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
cmp edx, 1
jne 0x4942f7
cmp edi, dword [ebx - 8]
jne 0x4942d1
sub ebx, 4
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x494302
jb 0x49553a
test ecx, ecx
jne 0x4942eb
cmp dword [ebx - 4], 0x801f0000
jne 0x4942eb
mov dword [ebx - 4], 0x801e0000
mov dword [ebx], edi
add ebx, 4
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x494302
lea edx, [ecx + 2]
mov dword [ebx], edi
mov dword [ebp - 8], edx
add ebx, 4
cmp esi, dword [ebp + 0xc]
jae 0x495556
movzx edi, word [esi]
add esi, 2
cmp dword [ebp - 0x38], 0
mov ecx, edi
mov dword [ebp - 0x20], edi
mov dword [ebp + 8], esi
je 0x494351
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494351
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x20], edi
mov ecx, edi
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x48]
cmp ecx, 0x5d
jne 0x493ec4
test eax, eax
jne 0x493ec4
cmp edx, 1
jne 0x494371
mov dword [ebx - 4], 0x2d
mov dword [ebx], 0x800d0000
jmp 0x4932cc
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x495835
movzx eax, word [esi]
cmp eax, 0x3f
je 0x494791
cmp eax, 0x2a
je 0x4943e5
inc dword [ebp - 4]
test dword [ebp - 0x18], 0x2000
mov edx, dword [ebp + 0x14]
jne 0x4943d0
mov ecx, dword [edx + 0x74]
cmp ecx, 0xffff
jae 0x49570d
inc ecx
mov dword [edx + 0x74], ecx
or ecx, 0x80080000
mov dword [ebx], ecx
add ebx, 4
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov ecx, 0x801a0000
mov dword [ebx], ecx
add ebx, 4
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4932d5
movzx ecx, word [esi + 2]
mov dword [ebp - 0x20], ecx
cmp ecx, 0x29
je 0x4932d2
mov edx, dword [ebp + 0x14]
cmp ecx, 0xff
ja 0x494613
mov eax, dword [edx + 0x10]
test byte [ecx + eax], 4
je 0x494613
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push edx
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x28], 0x500320
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push edi
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], esi
cmp esi, edi
jae 0x49559c
cmp word [esi], 0x3a
jne 0x49559c
mov esi, dword [ebp - 0x28]
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], 0
xor edi, edi
mov ebx, ecx
nop word [eax + eax]
lea eax, [edi*8 + 0x5003f8]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp edi, dword [eax]
jne 0x4944bf
push dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
mov edi, ebx
push esi
push dword [ebp - 0x44]
call fcn.0048b0c0
add esp, 0xc
test eax, eax
je 0x4944dc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
inc eax
add esi, eax
lea eax, [ecx + 1]
mov edi, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], eax
mov ecx, eax
mov edx, eax
mov ebx, edi
cmp edi, 0x11
jl 0x494490
jmp 0x4944df
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 8]
cmp eax, 0x11
jge 0x49559c
mov edx, dword [edi*8 + 0x5003fc]
mov edi, dword [ebp - 0xc]
test edi, edi
jle 0x49450d
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x49556f
cmp edx, 0x80250000
ja 0x49457c
je 0x4945a3
cmp edx, 0x80230000
ja 0x494557
je 0x494dbb
cmp edx, 0x80020000
je case.0x4947b9.62
cmp edx, 0x80220000
jne 0x494563
mov ecx, dword [ebp - 4]
add esi, 2
mov dword [ebx], edx
add ebx, 4
movzx eax, cx
inc eax
movzx eax, ax
mov dword [ebp - 4], eax
jmp 0x4932cf
cmp edx, 0x80240000
je 0x494de0
mov eax, dword [ebp + 0x14]
mov ecx, 0xbd
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80280000
ja 0x4945ab
je 0x4945a3
cmp edx, 0x80260000
je 0x4945a3
cmp edx, 0x80270000
jne 0x494563
mov dword [ebx], edx
add esi, 2
mov edx, dword [ebp + 0x14]
jmp 0x494e54
sub esi, 2
jmp 0x494e30
cmp edx, 0x8fff0000
jne 0x494563
mov eax, dword [ebp - 4]
add esi, 2
mov edi, dword [ebp - 0x40]
inc eax
mov dword [ebx], 0x80220000
mov dword [ebx + 4], 0x80020000
add ebx, 8
mov dword [ebp - 4], eax
mov dword [ebp - 8], ebx
test edi, edi
jne 0x4945e2
mov edx, dword [ebp + 0x14]
mov edi, dword [edx + 0x14]
mov dword [ebp - 0x40], edi
jmp 0x4945f4
add edi, 0xc
mov dword [ebp - 0x40], edi
cmp edi, dword [ebp - 0x54]
jae 0x49577a
mov edx, dword [ebp + 0x14]
mov word [edi], ax
mov eax, 4
mov word [edi + 6], ax
mov eax, dword [ebp - 0x18]
and eax, 0x10424e8
mov dword [edi + 8], eax
mov ecx, dword [ebp + 0xc]
jmp 0x4932e0
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push edx
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x500258
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push edi
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], esi
cmp esi, edi
jae 0x4957d2
movzx eax, word [esi]
cmp eax, 0x3a
je 0x494667
cmp eax, 0x29
jne 0x4957d2
mov ebx, dword [ebp - 0x2c]
xor edi, edi
xor edx, edx
mov dword [ebp - 0x34], edi
xor esi, esi
mov dword [ebp - 0x10], edi
xor eax, eax
nop dword [eax + eax]
mov ecx, dword [ebp - 0x30]
lea eax, [eax + eax*2]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [eax*4 + 0x500288]
jne 0x4946ac
push ecx
push ebx
push dword [ebp - 0x44]
mov dword [ebp - 0x28], esi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
je 0x4946ce
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax*4 + 0x500288]
lea edi, [edx + 1]
inc eax
mov dword [ebp - 0x34], edi
add ebx, eax
mov dword [ebp - 0x10], edi
mov eax, edi
mov edx, edi
mov esi, edi
mov ecx, edi
cmp eax, 9
jl 0x494680
jmp 0x4946d1
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 8]
cmp ecx, 9
jge 0x4957d2
cmp word [esi], 0x3a
jne 0x4946f5
lea eax, [esi + 2]
cmp eax, dword [ebp + 0xc]
jae 0x4946f5
cmp word [eax], 0x29
cmove esi, eax
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x500290]
test edi, edi
jle 0x494754
cmp word [esi], 0x3a
jne 0x4955b5
mov ecx, dword [ecx*4 + 0x50028c]
lea edx, [ebx + 4]
xor eax, eax
mov dword [ebp - 0x7c], ebx
add esi, 2
cmp ecx, 0x802a0000
sete al
mov dword [ebp - 0x1c], eax
xor eax, eax
mov edi, 0x10000
cmp ecx, 0x80290000
cmovne eax, edi
add eax, ecx
mov dword [ebx], eax
lea ebx, [edx + 4]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], 1
jmp 0x4932cf
mov ecx, dword [ecx*4 + 0x50028c]
lea edx, [ebx + 4]
xor eax, eax
mov dword [ebp - 0x7c], ebx
cmp ecx, 0x802a0000
sete al
mov dword [ebp - 0x1c], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0x3a
jne 0x494788
test edi, edi
jns 0x49472b
mov dword [ebp - 0x74], ecx
mov eax, 0x80290000
jmp 0x49473d
mov dword [ebx], ecx
mov ebx, edx
jmp 0x4932cf
add esi, 2
mov dword [ebp + 8], esi
mov edi, esi
cmp esi, ecx
jae 0x495835
movzx ecx, word [esi]
mov edx, ecx
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x4947b9.34
movzx eax, byte [eax + 0x495a04]
jmp dword [eax*4 + 0x4959cc]
mov ecx, dword [ebp + 0xc]
add esi, 2
mov dword [ebp + 8], esi
cmp esi, ecx
jae 0x495835
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x4947e3
mov eax, 0x3e
jmp 0x494ea4
cmp eax, 0x3e
je 0x49489c
cmp eax, 0x3d
jne 0x4955ce
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x29
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push ecx
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov dword [ebx], 0x80040000
jmp 0x493a08
mov ecx, dword [ebp + 0xc]
xor eax, eax
add esi, 2
mov dword [ebp - 0x34], eax
cmp esi, ecx
jae 0x494846
cmp word [esi], 0x29
je 0x49512b
mov eax, dword [ebp + 0x14]
mov ecx, 0x9e
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x494880
mov ax, word [edi + 2]
sub ax, 0x30
cmp ax, 9
jbe 0x49509e
mov eax, dword [ebp + 0x14]
mov ecx, 0x81
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x29
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push ecx
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov dword [ebx], 0x80210000
jmp 0x493a08
add esi, 2
cmp esi, dword [ebp + 0xc]
jae 0x495835
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x64], eax
test ecx, ecx
je 0x494905
test byte [ebp - 0x18], 4
je 0x494905
lea eax, [ebx - 0x10]
cmp ecx, eax
jne 0x494905
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx edx, word [esi]
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], 1
cmp edx, 0x29
je 0x4949cc
cmp edx, 0x30
jb 0x49492e
cmp edx, 0x39
jbe 0x4949cc
mov ecx, dword [0x4fdcec]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], 0
test ecx, ecx
je 0x49495d
xor eax, eax
mov edi, edx
xor edx, edx
cmp edi, ecx
je 0x494976
inc eax
mov edx, eax
mov dword [ebp - 0x34], eax
mov ecx, dword [edx*4 + 0x4fdcec]
test ecx, ecx
jne 0x494948
mov eax, dword [ebp + 0x14]
mov ecx, 0xb6
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx*4 + 0x4fdcc8]
test ecx, ecx
je 0x49495d
mov edx, dword [ebp + 0xc]
mov dword [ebx], 0x80070000
nop word [eax + eax]
add esi, 2
cmp esi, edx
jae 0x495601
movzx eax, word [esi]
cmp eax, ecx
jne 0x494990
add esi, 2
cmp esi, edx
jae 0x4949b0
movzx eax, word [esi]
cmp eax, ecx
je 0x494990
mov ecx, dword [ebp - 0x10]
mov eax, esi
mov edx, dword [ebp + 0x14]
sub eax, ecx
sar eax, 1
mov dword [ebx + 0xc], eax
add ebx, 0x10
sub ecx, dword [edx + 0x1c]
sar ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x494a0d
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebx], 0x80060000
add ebx, 0xc
cmp esi, edi
jae 0x494a0a
nop
movzx edx, word [esi]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x494a0a
lea ecx, [ecx + ecx*4]
mov eax, edx
lea ecx, [ecx - 0x18]
add esi, 2
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x49561d
cmp esi, edi
jb 0x4949e0
mov edx, dword [ebp + 0x14]
mov dword [ebx], ecx
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x495636
cmp word [esi], 0x29
jne 0x495636
mov edi, dword [ebp - 0x24]
add esi, 2
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
add ebx, 4
mov dword [edi + 4], eax
mov dword [edi + 8], 0
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov ecx, dword [ebp + 0xc]
add esi, 2
mov dword [ebp + 8], esi
cmp esi, ecx
jae 0x495835
movzx eax, word [esi]
inc dword [ebp - 4]
cmp eax, 0x3f
je 0x494d8a
cmp eax, 0x2a
je 0x494d8a
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp + 8]
push ecx
push eax
call fcn.00496ec0
add esp, 0x1c
test eax, eax
je 0x494aca
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp + 8]
test ecx, ecx
jle 0x49564f
mov edx, dword [ebp + 0x14]
mov eax, esi
mov dword [ebx], 0x80120000
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x3c], eax
jmp 0x494d67
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x495507
mov edx, dword [ebp + 0xc]
mov eax, edx
mov edi, dword [ebp + 8]
sub eax, edi
sar eax, 1
mov dword [ebp - 0x10], eax
cmp eax, 0xa
jl 0x494c14
push 7
push str.VERSION
push edi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
jne 0x494c0e
cmp word [edi + 0xe], 0x29
lea esi, [edi + 0xe]
je 0x494c0e
xor edi, edi
mov dword [ebp - 0x10], eax
cmp word [esi], 0x3e
mov dword [ebp - 0x28], eax
mov eax, esi
jne 0x494b2f
add esi, 2
mov dword [ebp - 0x10], 1
mov eax, esi
cmp word [esi], 0x3d
jne 0x495668
lea esi, [eax + 2]
movzx eax, word [esi]
mov dword [ebp + 8], esi
cmp eax, 0x30
jb 0x495668
cmp eax, 0x39
ja 0x495668
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.00496ec0
add esp, 0x1c
test eax, eax
je 0x4955e7
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x495668
cmp word [esi], 0x2e
jne 0x494bef
add esi, 2
cmp esi, ecx
jae 0x495668
movzx eax, word [esi]
cmp eax, 0x30
jb 0x495668
cmp eax, 0x39
ja 0x495668
sub eax, 0x30
add esi, 2
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x495668
movzx eax, word [esi]
cmp eax, 0x30
jb 0x494be5
cmp eax, 0x39
ja 0x494be5
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 2]
mov esi, eax
cmp eax, ecx
jae 0x495668
cmp word [esi], 0x29
jne 0x495668
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 0x14]
mov dword [ebx], 0x80150000
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebx], edi
jmp 0x494d6a
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
mov dword [ebp - 0xc], 0
cmp ecx, 0x52
jne 0x494c3a
cmp eax, 1
jle 0x494c53
cmp word [edi + 2], 0x26
lea eax, [edi + 2]
jne 0x494c53
lea edi, [ecx - 0x51]
mov dword [ebp + 8], eax
jmp 0x494c5c
cmp ecx, 0x3c
jne 0x494c47
mov edi, dword [ebp - 0xc]
lea esi, [ecx + 2]
jmp 0x494c61
cmp ecx, 0x27
jne 0x494c53
mov edi, dword [ebp - 0xc]
mov esi, ecx
jmp 0x494c61
sub edi, 2
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0xc]
mov esi, 0x29
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc], ecx
test edi, edi
je 0x494ca8
mov esi, dword [ebp + 8]
mov dword [ebx], 0x80130000
sub esi, 2
jmp 0x494d4e
cmp esi, 0x29
jne 0x494d45
mov edi, dword [ebp - 0x44]
cmp ecx, 6
jne 0x494ce2
push 6
push str.DEFINE
push edi
call fcn.0048b0c0
add esp, 0xc
test eax, eax
jne 0x494cdf
mov eax, 0x80100000
mov dword [ebx], eax
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
sub esi, 2
jmp 0x494d4e
mov ecx, dword [ebp - 0xc]
mov eax, 1
mov dword [ebp - 0x34], 1
cmp ecx, eax
jle 0x494d24
mov esi, eax
mov edx, eax
mov ecx, eax
nop dword [eax + eax]
movzx ecx, word [edi + ecx*2]
cmp ecx, 0x30
jb 0x494d21
mov eax, edx
cmp ecx, 0x39
ja 0x494d21
lea eax, [esi + 1]
mov ecx, eax
mov dword [ebp - 0x34], eax
mov esi, eax
mov edx, eax
cmp ecx, dword [ebp - 0xc]
jl 0x494d00
mov ecx, dword [ebp - 0xc]
cmp word [edi], 0x52
jne 0x494d33
cmp eax, ecx
mov eax, 0x80140000
jge 0x494d38
mov eax, 0x80110000
mov dword [ebx], eax
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
sub esi, 2
jmp 0x494d4e
mov esi, dword [ebp + 8]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x494d5f
mov dword [ebx], ecx
add ebx, 4
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + 0x14]
mov dword [ebx], eax
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x495681
cmp word [esi], 0x29
jne 0x495681
add esi, 2
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov dword [ebx], 0x800f0000
mov esi, edi
add ebx, 4
mov dword [ebp - 0x64], 2
mov dword [ebp - 8], ebx
jmp 0x4932d5
inc dword [ebp - 4]
mov dword [ebx], 0x80020000
add ebx, 4
add esi, 2
jmp 0x4932cf
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
add esi, 2
mov dword [ebx], 0x80230000
jmp 0x494e54
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
add esi, 2
mov dword [ebx], 0x80270000
jmp 0x494e54
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
add esi, 2
mov dword [ebx], 0x80240000
jmp 0x494e54
mov eax, dword [ebp + 0xc]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4947d9
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x494e28
cmp eax, 0x21
je 0x494e16
cmp eax, 0x2a
jne 0x4947d9
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x494e2d
mov edx, 0x80250000
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebx], edx
mov edx, dword [ebp + 0x14]
mov dword [eax], 1
mov eax, esi
add esi, 4
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 4], eax
add ebx, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
add ebx, 4
inc eax
mov dword [ebp - 8], ebx
mov dword [ebp - 4], eax
test edi, edi
jle 0x49460b
mov edi, dword [ebp - 0x40]
test edi, edi
jne 0x494e83
mov edi, dword [edx + 0x14]
mov dword [ebp - 0x40], edi
mov word [edi], ax
mov eax, 2
jmp 0x4945fc
add edi, 0xc
mov dword [ebp - 0x40], edi
cmp edi, dword [ebp - 0x54]
jae 0x49577a
mov word [edi], ax
mov eax, 2
jmp 0x4945fc
mov eax, 0x27
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
push eax
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push dword [ebp + 0xc]
push eax
call fcn.00496c70
add esp, 0x24
test eax, eax
je 0x4955e7
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x74]
cmp eax, 0xffff
jae 0x49570a
inc dword [ebp - 4]
inc eax
mov dword [edx + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
movzx edx, word [edx + 0x58]
mov eax, 0x2710
mov dword [ebp - 8], ebx
cmp dx, ax
jae 0x4956ee
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp + 0x14]
lea ecx, [esi + 2]
movzx eax, word [edi + 0x5a]
cmp ecx, eax
jbe 0x494f22
lea eax, [esi + 2]
mov word [edi + 0x5a], ax
mov esi, dword [edi + 0x64]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x10], 0
xor edi, edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x34], ecx
cmp ax, dx
jae 0x494fb1
nop dword [eax]
movzx eax, word [esi + 8]
mov edx, dword [ebp - 0x30]
cmp edx, eax
jne 0x494f8c
push edx
push dword [esi]
push dword [ebp - 0x44]
call fcn.0048b080
add esp, 0xc
test eax, eax
jne 0x494f89
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [edx + 0x74]
je 0x494fb4
test byte [ebp - 0x18], 0x40
je 0x49569a
mov ecx, dword [ebp - 0xc]
mov eax, 1
mov word [esi + 0xa], ax
mov dword [ebp - 0x10], eax
mov dword [edx + 0xbc], eax
jmp 0x494f9b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [edx + 0x74]
je 0x4956b6
movzx eax, word [edx + 0x58]
inc ecx
add esi, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x34], ecx
mov edi, ecx
cmp ecx, eax
jl 0x494f40
jmp 0x494fb4
mov edx, dword [ebp + 0x14]
movzx ecx, word [edx + 0x58]
cmp edi, ecx
jl 0x495090
mov eax, dword [edx + 0x68]
cmp ecx, eax
jb 0x495022
mov ecx, dword [edx]
lea edi, [eax + eax]
lea eax, [edi + edi*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov esi, eax
add esp, 8
test esi, esi
je 0x4956d2
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [eax + 0x64]
push esi
call fcn.004a77d0
mov edx, dword [ebp + 0x14]
add esp, 0xc
cmp dword [edx + 0x68], 0x14
jbe 0x49501c
mov eax, dword [edx]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [edx + 0x64]
call eax
mov edx, dword [ebp + 0x14]
add esp, 8
mov dword [edx + 0x64], esi
mov dword [edx + 0x68], edi
movzx eax, word [edx + 0x58]
mov esi, dword [ebp + 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x64]
mov edx, dword [ebp - 0x44]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
mov edx, esi
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
inc word [edx + 0x58]
jmp 0x4932e0
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
jmp 0x4932e0
mov edx, esi
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
jmp 0x4932e0
mov ecx, dword [ebp + 0xc]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x4950da
or eax, 0xffffffff
jmp 0x4950e0
cmp ecx, 0x2d
mov ecx, dword [ebp + 0xc]
jne 0x495157
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x495157
mov ax, word [edi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x495157
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x74]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x34]
push edx
push 0xa1
push 0xffff
push eax
push ecx
lea eax, [ebp + 8]
push eax
call fcn.00496ec0
add esp, 0x1c
test eax, eax
je 0x4955e7
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp + 8]
test eax, eax
js 0x495726
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x495835
cmp word [esi], 0x29
jne 0x495835
mov edx, dword [ebp + 0x14]
or eax, 0x80200000
mov dword [ebx], eax
mov eax, esi
add esi, 2
mov dword [ebp - 0x1c], 1
sub eax, dword [edx + 0x1c]
sar eax, 1
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 0x40]
inc eax
mov dword [ebp - 4], eax
test edi, edi
jne 0x495170
mov edx, dword [ebp + 0x14]
mov edi, dword [edx + 0x14]
mov dword [ebp - 0x40], edi
jmp 0x495182
add edi, 0xc
mov dword [ebp - 0x40], edi
cmp edi, dword [ebp - 0x54]
jae 0x49577a
mov edx, dword [ebp + 0x14]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
mov eax, dword [ebp - 0x18]
and eax, 0x10424e8
mov dword [edi + 8], eax
cmp word [esi], 0x7c
jne 0x4951d0
movzx eax, word [edx + 0x74]
mov word [edi + 2], ax
movzx eax, word [edx + 0x74]
mov word [edi + 4], ax
mov eax, 1
mov word [edi + 6], ax
or dword [edx + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 8], ebx
add esi, 2
jmp 0x4932e0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x10]
mov dword [ebp - 0x2c], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xc], 1
mov dword [edi + 2], eax
xor edi, edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], edi
cmp esi, eax
jae 0x4952c7
cmp word [esi], 0x5e
jne 0x49520d
and dword [ebp - 0x18], 0xfeffdb57
add esi, 2
mov dword [ebp - 0xc], ecx
cmp esi, eax
jae 0x4952c7
mov edi, eax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x29
je 0x4952c1
cmp eax, 0x3a
je 0x4952c1
lea eax, [ecx - 0x2d]
add esi, 2
cmp eax, 0x4b
ja case.0x495244.46
movzx eax, byte [eax + 0x495a5c]
jmp dword [eax*4 + 0x495a38]
cmp dword [ebp - 0xc], 0
je 0x495742
lea edx, [ebp - 0x28]
mov dword [ebp - 0xc], 0
jmp 0x4952b7
mov eax, dword [ebp + 0x14]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x4952b7
or dword [edx], 8
jmp 0x4952b7
or dword [edx], 0x400
jmp 0x4952b7
or dword [edx], 0x2000
jmp 0x4952b7
or dword [edx], 0x20
jmp 0x4952b7
or dword [edx], 0x40000
jmp 0x4952b7
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x4952b9
cmp word [esi], 0x78
jne 0x495217
or ecx, 0x1000000
add esi, 2
mov dword [edx], ecx
mov eax, esi
cmp eax, edi
jb 0x495217
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x4952d9
test cl, cl
jns 0x4952df
or ecx, 0x1000000
or edi, dword [ebp - 0x18]
not ecx
and edi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], edi
cmp esi, ecx
jae 0x495835
movzx eax, word [esi]
add esi, 2
mov edx, dword [ebp + 0x14]
cmp eax, 0x29
jne 0x495331
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x40]
movzx eax, ax
mov dword [ebp - 4], eax
cmp edi, dword [edx + 0x14]
jbe 0x49532c
mov ecx, dword [ebp - 4]
lea eax, [edi - 0xc]
cmp word [eax], cx
mov ecx, dword [ebp + 0xc]
jne 0x495329
mov dword [ebp - 0x40], eax
jmp 0x49533d
mov eax, dword [ebp - 4]
mov word [edi], ax
jmp 0x49533d
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
je 0x4932e0
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp + 0x14]
test edi, edi
je 0x49538b
mov eax, dword [ebp - 4]
cmp word [edi], ax
jne 0x49538b
test byte [edi + 6], 1
je 0x49538b
movzx eax, word [edi + 4]
mov ecx, dword [edx + 0x74]
cmp ecx, eax
jbe 0x495384
mov word [edi + 4], cx
movzx eax, word [edi + 2]
mov dword [edx + 0x74], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80010000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x1c], 1
test edi, edi
je 0x49540c
mov eax, dword [ebp - 4]
cmp word [edi], ax
jne 0x49540c
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0x14]
and eax, 0xfefbdb17
or eax, dword [edi + 8]
test byte [edi + 6], 1
mov dword [ebp - 0x18], eax
je 0x4953d8
movzx eax, word [edi + 4]
cmp eax, dword [edx + 0x74]
jbe 0x4953d8
mov dword [edx + 0x74], eax
movzx eax, word [edi + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x1c], ecx
test al, 4
je 0x4953f5
mov dword [ebx], 0x80190000
add ebx, 4
cmp edi, dword [edx + 0x14]
jne 0x495401
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x49540f
sub edi, 0xc
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x40], edi
jmp 0x49540f
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp - 4]
test di, di
je 0x495793
mov ecx, dword [ebp + 0xc]
add edi, 0xffff
mov dword [ebx], 0x80190000
add ebx, 4
mov dword [ebp - 4], edi
mov dword [ebp - 8], ebx
jmp 0x4932e0
mov eax, dword [ebp + 0x14]
mov ecx, 0x8c
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0xb0
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x76
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x6d
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
mov eax, dword [ebp + 0x14]
setne cl
add ecx, 0x70
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x71
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6b
mov esi, dword [ebp + 8]
sub esi, 2
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0xab
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0x96
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x6c
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6a
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80270000
je 0x495583
cmp edx, 0x80280000
jne 0x49372c
mov eax, dword [ebp + 0x14]
mov ecx, 0xc6
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xc3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa6
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8d
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb5
mov esi, dword [ebp - 0x10]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8a
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8b
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x73
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x7c
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8f
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa5
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x79
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x95
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0xc5
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x73
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
add esi, 0xfffffffe
pop edi
mov ecx, 0xc2
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
add esi, 0xfffffffe
pop edi
mov ecx, 0x6f
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb8
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x7a
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x77
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x68], 0
je 0x4931f2
mov eax, dword [ebp + 0x14]
mov ecx, 0xa0
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebp - 0x58], 4
je 0x495801
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x78]
jb 0x49581f
mov eax, dword [ebp + 0x14]
mov ecx, 0xa3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebp - 4], 0
mov dword [ecx], 0x80000000
jne 0x495835
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x72
mov eax, dword [ebp + 0x14]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret