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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
xor eax, eax
mov dword [ebp - 0x4c], 0
push ebx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x64], eax
push esi
push edi
mov edi, edx
mov dword [ebp - 0x10], 0
mov edx, dword [ebp + 0xc]
mov esi, ecx
xor ecx, ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x18], 0
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x78], eax
mov eax, dword [edx]
mov ebx, dword [edx + 0x7c]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x88], 0
mov ecx, dword [eax + 0x24]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x60], eax
mov eax, edi
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x3c], eax
mov eax, edi
shr eax, 2
and eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [edx + 0x20]
mov dword [ebp - 0xc], eax
mov eax, ecx
and eax, 8
mov dword [ebp - 0x9c], eax
je 0x4e8cc4
mov dword [ebx], 0x80090000
jmp 0x4e8ccf
test cl, 4
je 0x4e8cdf
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
nop
test edi, 0x2000000
je 0x4e8e3c
mov edi, dword [ebp - 0xc]
cmp esi, edi
jae 0x4e8dbb
jmp 0x4e8d00
cmp ebx, dword [ebp - 0x78]
jae 0x4eb7d9
cmp dword [ebp - 0x3c], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], edx
je 0x4e8d4b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e8d4b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x6c], 0
je 0x4e8dab
cmp dword [ebp - 0x44], 0
mov ecx, ebx
mov edx, dword [ebp + 0xc]
je 0x4e8d82
mov edi, dword [ebp - 0x44]
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, dword [edi + 4]
mov dword [edi + 8], eax
lea eax, [ebx - 0x10]
cmp edi, eax
mov edi, dword [ebp - 0xc]
jne 0x4e8d82
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], 0xff
je 0x4e8d9b
mov eax, ebx
mov dword [ebx], 0x80060000
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
sub esi, dword [edx + 0x1c]
mov ebx, ecx
sar esi, 1
mov dword [eax + 4], esi
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [ebp - 4]
cmp esi, edi
jb 0x4e8cf7
cmp dword [ebp - 0x44], 0
mov ecx, ebx
mov edi, dword [ebp + 0xc]
mov edx, esi
je 0x4e8ddb
mov esi, dword [ebp - 0x44]
mov eax, edx
sub eax, dword [edi + 0x1c]
sar eax, 1
sub eax, dword [esi + 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 4]
cmp dword ds:[ebp - 0x6c], 0
je 0x4e8e1d
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x4e8df9
lea eax, [ebx - 0x10]
cmp esi, eax
jne 0x4e8df9
cmp dword [esi + 0xc], 0xff
je 0x4e8e12
mov esi, ebx
mov dword [ebx], 0x80060000
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
sub edx, dword [edi + 0x1c]
sar edx, 1
mov dword [esi + 4], edx
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x9c], 0
je 0x4eb7b3
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x4eb7ca
mov ecx, dword ds:[edx + 0x28]
xor eax, eax
mov dword [ebp - 0x34], eax
add ecx, ecx
xor edx, edx
mov dword [ebp - 0x68], 0xc
mov eax, ecx
div dword [ebp - 0x68]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
sub eax, edx
mov edx, edi
add eax, ecx
or edx, 0x80
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
mov eax, edi
and eax, 0x1000000
cmove edx, edi
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x28], edx
xor edx, edx
jmp 0x4e8ea0
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8ea0
mov edi, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 8], ebx
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
lea esp, [esp]
movzx eax, dx
mov dword [ebp - 0x7c], eax
cmp esi, edi
jae 0x4eb79f
lfence
cmp ebx, dword [ebp - 0x78]
jae 0x4eb792
mov ebx, dword ds:[ecx]
movzx eax, dx
cmp eax, dword [ebx + 0x20]
ja 0x4eb785
cmp dword [ebp - 0x3c], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
movzx edx, word [eax]
lea esi, [eax + 2]
mov dword [ebp - 0x14], edx
mov ecx, edx
mov dword [ebp - 0x1c], edx
mov edi, esi
mov dword [ebp - 4], esi
je 0x4e8f1f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e8f1f
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0x14], edx
mov ecx, edx
mov dword [ebp - 0x1c], edx
mov edi, esi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x50], 0
je 0x4e8fb5
cmp ecx, 0x5c
jne 0x4e8f54
cmp edi, dword [ebp - 0xc]
jae 0x4e8f54
cmp word [esi], 0x45
jne 0x4e8f54
mov ebx, dword [ebp - 8]
lea esi, [edi + 2]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], esi
jmp 0x4e8e96
cmp dword [ebp - 0x5c], 0
jg 0x4eb5b9
cmp dword [ebp - 0x60], 0
mov ebx, dword [ebp - 8]
jne 0x4e8f98
mov ecx, dword [ebp - 0x58]
mov eax, ecx
dec ecx
mov dword [ebp - 0x58], ecx
test eax, eax
jg 0x4e8f91
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x64]
push ebx
push dword [ebp - 0x6c]
call fcn.004e8ba0
mov edx, dword [ebp - 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x4c], 0
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
cmp dword [ebp - 0x60], 0
je 0x4e911e
mov eax, dword [ebp - 0x28]
and eax, 0x400080
cmp eax, 0x400080
jne 0x4e902c
cmp ecx, 0xff
jbe 0x4e8fee
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x4e8fee
cmp eax, 0x2029
jne 0x4e903a
cmp ecx, 0x100
jae 0x4e911e
lea ebx, [ebx]
cmp ecx, 0x23
je 0x4e9156
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
test byte [edx + eax], 1
jne 0x4e911e
lea esp, [esp]
cmp ecx, 0x85
je 0x4e9156
cmp ecx, 0x29
je 0x4e90c5
cmp ecx, 0x5c
je 0x4e9045
mov ebx, dword ds:[ebp - 8]
jmp 0x4e8f9f
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0xc]
test eax, 0x400000
je 0x4e90aa
push dword [ebp + 0xc]
mov edx, edi
lea ecx, [ebp - 4]
push 0
push dword [ebx + 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004e7d80
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x4eb78a
sub eax, ecx
je 0x4e90a7
lea esp, [esp]
sub eax, 0x19
je 0x4eb010
mov esi, dword [ebp - 4]
sub eax, 1
jne 0x4eb5c6
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x50], 1
jmp 0x4e8e96
mov edx, dword [ebp - 0x1c]
mov ebx, dword ds:[ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
sub esi, dword ds:[ebp - 0x88]
sar esi, 1
dec esi
mov dword [ebp - 0x60], 0
cmp esi, 0xffff
jg 0x4eb5d0
mov ebx, dword [ebp - 8]
mov eax, ebx
mov ecx, dword [ebp - 0x84]
sub eax, ecx
mov edi, dword [ebp - 0xc]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4e99a9
mov ecx, dword [ebp + 0xc]
mov dword [ebx], eax
mov dword [ebp - 0x70], 0
jmp 0x4e8e8d
mov edi, edi
cmp ecx, 0x5c
jne 0x4e9156
cmp edi, dword [ebp - 0xc]
jae 0x4e9156
movzx eax, word [esi]
cmp eax, 0x51
je 0x4e9137
cmp eax, 0x45
jne 0x4e9156
xor edx, edx
lea esi, [edi + 2]
mov edi, dword [ebp - 0xc]
cmp eax, 0x51
mov dword [ebp - 4], esi
sete dl
mov dword [ebp - 0x50], edx
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e96
test byte ds:[ebp - 0x28], 0x80
je 0x4e928e
cmp ecx, 0x100
jae 0x4e9186
mov eax, dword ds:[ebp + 0xc]
mov ebx, dword [ebp - 8]
mov eax, dword [eax + 0x10]
test byte [edx + eax], 1
mov edx, dword [ebp - 0x10]
jne 0x4eb595
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
cmp ecx, 0x85
je 0x4eb595
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x4eb595
cmp eax, 0x2029
je 0x4eb595
cmp ecx, 0x23
jne 0x4e928e
mov edi, dword [ebp - 0xc]
cmp esi, edi
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 8]
jae 0x4e8ea0
mov ebx, ecx
mov edx, dword ds:[ebx + 0x90]
mov ecx, dword [ebx + 0x20]
test edx, edx
je 0x4e920d
cmp esi, ecx
jae 0x4e923b
push dword [ebp - 0x3c]
lea edi, [ebx + 0x94]
push edi
push ecx
mov ecx, esi
call fcn.00514f40
lea ebx, [ebx]
test eax, eax
jne 0x4e9278
mov edi, dword [ebp - 0xc]
jmp 0x4e923b
mov edx, dword [ebx + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4e923b
mov ax, word ds:[esi]
cmp ax, word [ebx + 0xa0]
jne 0x4e923b
cmp edx, 1
je 0x4e927d
mov ax, word [esi + 2]
cmp ax, word [ebx + 0xa2]
je 0x4e927d
add esi, 2
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 4], esi
mov eax, esi
je 0x4e9271
cmp esi, edi
jae 0x4e9271
mov ax, word ds:[esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4e91d5
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
cmp eax, edi
jmp 0x4e91c4
mov edx, dword [edi]
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
lea esi, [esi + edx*2]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
jmp 0x4e8e96
cmp ecx, 0x28
jne 0x4e92ed
mov edi, dword ds:[ebp - 0xc]
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x4e9332
cmp word [esi], 0x3f
jne 0x4e9332
cmp word [esi + 2], 0x23
jne 0x4e9332
mov edi, edi
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4eb5dd
cmp word [esi], 0x29
jne 0x4e92c0
cmp esi, edi
jae 0x4eb5dd
mov ebx, dword [ebp - 8]
add esi, 2
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
jmp 0x4e8e96
cmp ecx, 0x2a
je 0x4e9371
cmp ecx, 0x2b
je 0x4e9371
nop
cmp ecx, 0x3f
je 0x4e9371
cmp ecx, 0x7b
jne 0x4e9332
mov edx, dword ds:[ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
push 0
push 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], esi
call fcn.004e7c40
mov esi, dword [ebp - 4]
test eax, eax
jne 0x4e9369
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov eax, ecx
dec ecx
mov dword [ebp - 0x58], ecx
test eax, eax
jg 0x4e9371
mov edi, dword [ebp + 0xc]
lea edx, [ebp - 0x64]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
push edi
push ebx
push dword [ebp - 0x6c]
call fcn.004e8ba0
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], edx
jmp 0x4e9377
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
jmp 0x4e9374
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
jle 0x4e93d8
mov edi, edi
cmp edx, 0x28
jne case.0x4e9460.36
mov ecx, dword [ebp - 0xc]
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x4e9460.36
movzx eax, word ds:[esi]
cmp eax, 0x3f
je 0x4e944b
cmp eax, 0x2a
jne case.0x4e9460.36
movzx eax, word ds:[esi + 2]
mov ecx, 0xff
cmp ax, cx
ja case.0x4e9460.36
mov ecx, eax
mov eax, dword [edi + 0x10]
test byte [ecx + eax], 4
je case.0x4e9460.36
mov ecx, dword [ebp - 0xc]
mov edi, dword ds:[ebp - 0x4c]
mov eax, edi
mov dword [ebp - 0x2c], ebx
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x4c], 0
test eax, eax
je 0x4e9494
cmp edx, 0x3f
je 0x4e9416
cmp edx, 0x2b
jne 0x4e9494
mov ebx, dword [ebp - 8]
cmp edx, 0x3f
mov ecx, 0x10000
mov edx, 0x20000
cmove ecx, edx
add ecx, eax
xor eax, eax
cmp edi, 0x803d0000
mov edi, dword [ebp - 0xc]
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + ebx], ecx
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e93
movzx eax, word [esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x4e9460.36
movzx eax, byte [eax + 0x4eb834]
mov edi, edi
jmp dword [eax*4 + 0x4eb824]
movzx eax, word [esi + 4]
cmp eax, 0x3d
je case.0x4e9460.33
cmp eax, 0x21
je case.0x4e9460.33
sub esi, 2
mov ecx, 0x80
jmp 0x4eb80b
cmp ebx, 2
jne case.0x4e9460.36
jmp case.0x4e9460.33
lea eax, ds:[edx - 0x24]
cmp eax, 0x58
ja case.0x4e94b0.37
movzx eax, byte [eax + 0x4eb88c]
jmp dword [eax*4 + 0x4eb858]
mov ebx, dword [ebp - 0x28]
mov edx, ecx
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 4]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp + 0xc]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x20]
push ebx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004e7d80
mov ecx, dword [ebp - 0x20]
mov edi, eax
test ecx, ecx
jne 0x4e9527
test edi, edi
je 0x4e986e
js 0x4e980c
lea eax, ds:[edi - 6]
cmp eax, 0x16
ja case.0x4e9510.13
movzx eax, byte [eax + 0x4eb900]
jmp dword [eax*4 + 0x4eb8e8]
test ebx, 0x100000
je case.0x4e9510.12
mov ecx, 0xb7
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
test byte [ebp - 0x74], 2
je 0x4eb80b
mov eax, dword ds:[ebp - 0x14]
mov dword [ebp - 4], eax
cmp eax, edi
jb 0x4e987e
mov ebx, dword [ebp - 8]
mov ecx, 0x5c
mov dword [ebp - 0x1c], ecx
mov dword [ebx], ecx
jmp 0x4e999c
mov ebx, dword ds:[ebp - 8]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
mov dword [ebx], eax
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
xor eax, eax
lea edx, [ebp - 0x8c]
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004e86e0
test eax, eax
je 0x4e9736
cmp dword [ebp - 0x8c], 0
je 0x4e95c6
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov ebx, dword [ebp - 8]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [ebp - 0x2c]
mov edi, dword [ebp - 0xc]
shl ecx, 0x10
mov dword [ebx], eax
movzx eax, word [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], 1
mov dword [ebx + 4], ecx
add ebx, 8
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
cmp esi, ecx
jae 0x4e973e
movzx eax, word [esi]
cmp eax, 0x7b
je 0x4e9629
cmp eax, 0x3c
je 0x4e96a5
jmp 0x4e9620
cmp eax, 0x27
jne 0x4e973e
cmp eax, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
lea esp, [esp]
cmp edi, 0x1b
jne 0x4e96cb
cmp ebx, 0x7d
je 0x4e96cb
lfence
mov esi, dword [ebp - 4]
mov edx, ecx
lea ecx, [ebp - 0x24]
lea eax, [esi + 2]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 0xc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.004e7ac0
test eax, eax
je 0x4e96b9
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0xc]
cmp ecx, edi
jae 0x4e96ac
movzx eax, word [ecx]
cmp eax, ebx
jne 0x4e96ac
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], ecx
jmp 0x4eb1b2
mov ebx, 0x3e
jmp 0x4e9639
mov ecx, 0x9d
mov dword [ebp - 0x20], ecx
jmp 0x4e952d
mov ecx, dword ds:[ebp - 0x20]
test ecx, ecx
jne 0x4e952a
mov ecx, dword [ebp - 0xc]
push dword [ebp + 0xc]
lea eax, [ebp - 0x20]
mov edx, ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.004e8920
test eax, eax
je 0x4e9736
cmp edi, 0x1c
je 0x4e9705
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x4e970a
mov eax, 0x80040000
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
mov dword [ebx], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 8], eax
add ebx, 0xc
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov ecx, dword [ebp - 0x20]
jmp 0x4e9527
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x4e952a
mov dword ds:[ebp - 0x18], 1
test ebx, 0x20000
jne 0x4e9787
mov ebx, dword [ebp - 8]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], eax
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
cmp edi, 7
je 0x4e979b
cmp edi, 9
je 0x4e979b
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x4e97a0
mov eax, 0x80180010
mov ebx, dword [ebp - 8]
add edi, 0xfffffffa
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp edi, 5
ja case.default.0x4e97b7
jmp dword [edi*4 + 0x4eb918]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x3000d
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x60000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov ebx, dword [ebp - 8]
neg edi
mov ecx, dword [ebp - 4]
mov eax, edi
sub ecx, dword [esi + 0x1c]
or eax, 0x80030000
sar ecx, 1
dec ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x40], ecx
mov dword [ebp - 8], ebx
cmp edi, 0xa
jge 0x4e9851
cmp dword [esi + edi*4 + 0x2c], 0xffffffff
jne 0x4e9859
mov dword [esi + edi*4 + 0x2c], ecx
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
jmp 0x4e8e96
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 8], ebx
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
jmp 0x4e8e96
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0xc]
mov dword [ebx], ecx
jmp 0x4e999c
cmp dword [ebp - 0x3c], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
mov edx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], esi
je 0x4e98ca
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e98ca
movzx ecx, word [esi]
lea eax, [esi + 2]
and edx, 0x3ff
mov dword [ebp - 4], eax
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp - 8]
mov dword [ebx], ecx
jmp 0x4e999c
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80090000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80160000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
mov dword [ebx], 0x80170000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov edi, dword ds:[ebp - 0xc]
mov dword [ebp - 0x4c], 0x80340000
jmp 0x4e99be
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x4c], 0x80370000
jmp 0x4e99be
mov edi, dword ds:[ebp - 0xc]
mov dword [ebp - 0x4c], 0x803a0000
jmp 0x4e99be
mov edi, dword ds:[ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x94]
mov edx, edi
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 4]
call fcn.004e7c40
test eax, eax
jne 0x4e99b4
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x4eb78a
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], 1
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e96
mov esi, dword [ebp - 4]
mov dword [ebp - 0x4c], 0x803d0000
mov edi, edi
test ebx, ebx
je 0x4eb5e7
mov ebx, dword [ebp - 8]
cmp dword [ebx - 4], 0x802a0000
lea ecx, [ebx - 4]
jne 0x4e99fc
mov edx, dword [ebp - 0x80]
cmp ecx, edx
jb 0x4e99ec
mov edi, edi
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x4e99e0
mov dword [edx], 0x801a0000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov eax, dword [ebp - 0x4c]
mov dword [ebx], eax
add ebx, 4
cmp dword [ebp - 0x1c], 0x7b
mov dword [ebp - 8], ebx
jne 0x4e99a9
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], eax
mov eax, dword [ebp - 0x94]
mov dword [ebx + 4], eax
add ebx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov eax, ecx
mov dword [ebp - 0x18], 1
sub eax, esi
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x4e9b1d
mov ebx, 6
mov edx, 0x580c08
mov edi, esi
movsx ax, byte [edx]
lea edi, [edi + 2]
movzx ecx, word [edi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x4e9a72
sub ebx, 1
jne 0x4e9a55
jmp 0x4e9a9f
mov ebx, 6
mov edx, str._:_:__
mov edi, esi
mov edi, edi
movsx ax, byte [edx]
lea edi, [edi + 2]
movzx ecx, word [edi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x4e9b1a
sub ebx, 1
jne 0x4e9a80
mov edx, dword [ebp - 8]
mov dword [edx], 0x80180005
lea ecx, [edx + 8]
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x3c
jne 0x4e9abe
mov dword [edx + 4], 0x80230000
jmp 0x4e9ad7
mov eax, dword [ebp + 8]
mov dword [edx + 4], 0x80250000
mov dword [ecx], 0
add ecx, 4
mov dword [eax], 1
test dword [ebp - 0x28], 0x20000
lea ebx, [ecx + 4]
jne 0x4e9aeb
mov dword [ecx], 0x8018000b
jmp 0x4e9afa
mov dword [ecx], 0x80180010
mov dword [ebx], 0x80000
add ebx, 4
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80190000
add ebx, 4
mov esi, dword [ebp - 4]
add esi, 0xc
mov dword [ebp - 8], ebx
mov dword [ebp - 4], esi
jmp 0x4e8e96
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
cmp esi, eax
jae 0x4e9b58
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4e9b36
cmp eax, 0x2e
je 0x4e9b36
cmp eax, 0x3d
jne 0x4e9b55
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x54]
lfence
mov esi, dword [ebp - 4]
mov ecx, esi
push eax
call fcn.004e8880
test eax, eax
jne 0x4eb5f4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x2c], edi
cmp esi, eax
jae 0x4e9c52
jmp 0x4e9b70
movzx ebx, word [esi]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov edx, esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], esi
je 0x4e9bc3
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e9bc0
movzx eax, word [esi]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
add esi, 2
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov edx, esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0xc]
cmp ecx, 0x5c
jne 0x4e9c1e
cmp edx, eax
jae 0x4e9bdd
cmp word [esi], 0x45
jne 0x4e9bdd
lea esi, [edx + 2]
mov dword [ebp - 4], esi
jmp 0x4e9c42
sub eax, edx
and eax, 0xfffffffe
cmp eax, 6
jl 0x4e9c4f
mov ebx, 3
mov edi, 0x580c18
movsx ax, byte [edi]
lea edx, [edx + 2]
movzx ecx, word [edx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x4e9c4c
sub ebx, 1
jne 0x4e9bf5
mov edi, dword [ebp - 0x2c]
add esi, 6
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], esi
jmp 0x4e9c42
test dword [ebp - 0x28], 0x1000000
je 0x4e9c31
cmp ecx, 0x20
je 0x4e9c42
cmp ecx, 9
je 0x4e9c42
test edi, edi
jne 0x4e9c4f
cmp ecx, 0x5e
jne 0x4e9c4f
mov edi, 1
mov dword [ebp - 0x2c], edi
cmp esi, eax
jb 0x4e9b70
jmp 0x4e9c4f
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
cmp edx, 0x5d
jne 0x4e9c7b
mov ecx, dword ds:[ebp + 0xc]
test byte [ecx + 0x6c], 1
je 0x4e9c7b
mov ebx, dword [ebp - 8]
test edi, edi
mov eax, 0x800b0000
mov edx, 0x800c0000
cmovne eax, edx
mov dword [ebx], eax
jmp 0x4e8e8a
mov ebx, dword [ebp - 8]
test edi, edi
mov ecx, 0x800e0000
mov eax, 0x800a0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov esi, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], edx
jmp 0x4e9ca5
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x50], 0
mov edi, 1
je 0x4e9d74
cmp ecx, 0x5c
jne 0x4e9f6c
lea ecx, [ecx]
cmp esi, dword [ebp - 0xc]
jae 0x4e9f6c
cmp word [esi], 0x45
jne 0x4e9f6c
add esi, 2
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], esi
mov edi, dword [ebp - 0x14]
cmp esi, dword [ebp - 0xc]
jae 0x4eb652
movzx ecx, word ds:[esi]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov edx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], esi
je 0x4e9d34
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e9d34
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 - 0x1c], ecx
mov edx, ecx
mov dword [ebp - 4], esi
cmp edx, 0x5d
jne 0x4e9ca2
cmp dword [ebp - 0x50], 0
jne 0x4e9ca2
cmp edi, 1
jne 0x4e9d53
mov dword [ebx - 4], 0x2d
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x800d0000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ebx
jmp 0x4e8e96
test dword [ebp - 0x28], 0x1000000
je 0x4e9d92
lea ecx, [ecx]
cmp ecx, 0x20
je 0x4e9ce0
cmp ecx, 9
je 0x4e9ce0
cmp ecx, 0x5b
jne 0x4e9f8e
mov eax, dword [ebp - 0xc]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x4e9f6c
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4e9dc9
cmp eax, 0x2e
je 0x4e9dc9
lea esp, [esp]
cmp eax, 0x3d
jne 0x4e9f6c
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x54]
lfence
mov esi, dword [ebp - 4]
mov ecx, esi
push eax
call fcn.004e8880
lea ecx, [ecx]
test eax, eax
je 0x4e9f66
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x14], edi
je 0x4eb637
cmp word ds:[esi], 0x3a
jne 0x4eb60a
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x5e
jne 0x4e9e1f
add esi, 2
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], esi
mov eax, esi
mov ecx, dword [ebp - 0x54]
mov edi, 0x54e9a8
sub ecx, eax
mov dword [ebp - 0x24], edi
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x14], edx
movzx eax, al
mov dword [ebp - 0x7c], eax
cmp ecx, eax
jne 0x4e9efb
mov ebx, ecx
mov eax, esi
test ecx, ecx
je 0x4e9e72
movsx cx, byte [edi]
lea eax, [eax + 2]
movzx edx, word [eax - 2]
lea edi, [edi + 1]
movzx ecx, cx
cmp dx, cx
jne 0x4e9eef
sub ebx, 1
jne 0x4e9e50
mov edx, dword [ebp - 0x14]
test edx, edx
js 0x4e9f13
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0xc]
add esi, 4
add eax, 0xfffffffe
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x4e9e9e
cmp word [esi], 0x2d
jne 0x4e9e9e
cmp word [esi + 2], 0x5d
jne 0x4eb637
xor edi, edi
test dword [ebp - 0x28], 0x20000
mov dword [ebp - 0x14], edi
je 0x4e9f45
mov eax, dword [edx*8 + 0x54e710]
mov ecx, dword [edx*8 + 0x54e714]
mov edi, edi
test eax, eax
js 0x4e9f1d
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [ebx], edx
mov dword [ebx + 4], eax
add ebx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e9ce3
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x24]
inc edx
inc edi
add edi, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], edi
mov al, byte [edx + 0x54ebb8]
test al, al
jne 0x4e9e38
mov ecx, 0x82
jmp 0x4eb80b
lea ecx, [ecx]
test ecx, ecx
je 0x4e9f45
mov ebx, dword ds:[ebp - 8]
mov eax, dword [ebp - 0x18]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [ebx], eax
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e9ce3
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
add eax, 0x801c
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edx
add ebx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e9ce3
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
cmp edx, 1
jne 0x4ea23d
cmp ecx, dword [ebx - 8]
jne 0x4ea20b
sub ebx, 4
xor edi, edi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], edi
jmp 0x4e9ce3
cmp ecx, 0x2d
jne 0x4e9fbb
cmp edx, 2
jb 0x4e9f6c
cmp edx, 3
mov dword [ebp - 0x14], edi
mov eax, 0x801e0000
mov ecx, 0x801f0000
cmove eax, ecx
mov dword [ebx], eax
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
jmp 0x4e9ce3
jmp 0x4e9fc0
cmp ecx, 0x5c
jne 0x4e9f6c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 4]
mov edx, dword [ebp - 0xc]
push eax
push 1
mov eax, dword [eax]
mov dword [ebp - 0x54], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x20]
push dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004e7d80
mov ecx, dword [ebp - 0x20]
mov edi, eax
test ecx, ecx
je 0x4ea074
test byte ds:[ebp - 0x74], 2
je 0x4eb78a
mov dword [ebp - 4], esi
cmp esi, dword [ebp - 0xc]
jb 0x4ea01d
mov ecx, 0x5c
xor edi, edi
mov dword [ebp - 0x1c], ecx
jmp 0x4e9f69
cmp dword [ebp - 0x3c], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], esi
je 0x4ea093
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ea093
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
lea esi, [edx + 2]
and eax, 0x3ff
mov dword [ebp - 4], esi
or ecx, eax
add ecx, 0x10000
xor edi, edi
mov dword [ebp - 0x1c], ecx
jmp 0x4e9f69
cmp edi, 0x1a
ja case.0x4ea086.1
mov edi, eax
movzx eax, byte [eax + 0x4eb948]
jmp dword [eax*4 + 0x4eb930]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
xor edi, edi
jmp 0x4e9f69
mov esi, dword [ebp - 4]
mov ecx, 8
mov dword [ebp - 0x1c], ecx
xor edi, edi
jmp 0x4e9f69
mov dword [ebp - 0x50], 1
mov esi, dword [ebp - 4]
jmp 0x4e9ce0
cmp dword ds:[ebp - 0x14], 1
je 0x4eb634
xor eax, eax
lea ecx, [edi - 6]
mov dword [ebp - 0x14], eax
cmp ecx, 0xf
ja case.0x4ea0e0.10
movzx eax, byte [ecx + 0x4eb978]
mov edi, edi
jmp dword [eax*4 + 0x4eb964]
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp 0x4ea1d7
test dword ds:[ebp - 0x28], 0x20000
jne 0x4ea112
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp 0x4ea1d7
cmp edi, 7
je 0x4ea126
cmp edi, 9
je 0x4ea126
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x4ea12b
mov eax, 0x80180010
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp ecx, 5
ja case.default.0x4ea140
lea esp, [esp]
jmp dword [ecx*4 + 0x4eb988]
mov dword [ebx], 0x3000d
add ebx, 4
jmp 0x4ea1d7
mov dword ds:[ebx], 0x60000
add ebx, 4
jmp 0x4ea1d7
mov dword [ebx], 0x80000
add ebx, 4
jmp 0x4ea1d7
push dword [ebp + 0xc]
xor eax, eax
lea edx, [ebp - 0x98]
lfence
mov word [ebp - 0x18], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004e86e0
lea ecx, [ecx]
test eax, eax
je 0x4eb6ba
cmp dword [ebp - 0x98], 0
je 0x4ea1bc
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
movzx ecx, word [ebp - 0x18]
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
movzx eax, word [ebp - 0x2c]
shl ecx, 0x10
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
add eax, 0xfffffffe
cmp esi, eax
jae 0x4e9ce0
cmp word [esi], 0x2d
jne 0x4e9ce0
cmp word ds:[esi + 2], 0x5d
jne 0x4eb637
jmp 0x4e9ce0
jb 0x4eb645
test edi, edi
jne 0x4ea228
cmp dword [ebx - 4], 0x801f0000
jne 0x4ea228
mov dword [ebx - 4], 0x801e0000
mov ecx, dword [ebp - 0x1c]
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], edi
jmp 0x4e9ce3
add edi, 2
mov dword [ebx], ecx
mov esi, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], ebx
jmp 0x4e9ce3
mov edi, dword [ebp - 0xc]
cmp esi, edi
jae 0x4eb806
movzx eax, word [esi]
cmp eax, 0x3f
je 0x4ea67a
mov edx, dword [ebp - 0x10]
cmp eax, 0x2a
je 0x4ea2bf
inc edx
test dword [ebp - 0x28], 0x2000
mov dword [ebp - 0x10], edx
jne 0x4ea2a4
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x74]
cmp ecx, 0xffff
jae 0x4eb742
inc ecx
mov dword [edx + 0x74], ecx
or ecx, 0x80080000
mov edx, dword [ebp - 0x10]
jmp 0x4ea2a9
mov ecx, 0x801a0000
mov ebx, dword [ebp - 8]
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
jmp 0x4e8ea0
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4e8e82
movzx eax, word ds:[esi + 2]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x1c], edx
cmp ecx, 0x29
je 0x4e914b
mov eax, 0xff
cmp cx, ax
mov ecx, dword [ebp + 0xc]
ja 0x4ea4fd
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 4
je 0x4ea4fd
push ecx
lea eax, [ebp - 0x20]
mov edx, edi
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push 0
push dword [ebp - 0x3c]
lfence
lea ecx, [ebp - 4]
mov dword [ebp - 0x14], 0x54dbd8
call fcn.004e8920
test eax, eax
je 0x4eb6ba
mov esi, dword ds:[ebp - 4]
mov dword [ebp - 0x24], esi
cmp esi, edi
jae 0x4eb69c
cmp word [esi], 0x3a
jne 0x4eb69c
mov ecx, dword [ebp - 0x38]
xor edi, edi
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x30], edi
nop
mov ebx, dword [edi*8 + 0x54eb30]
cmp ecx, ebx
jne 0x4ea380
push ecx
mov ecx, dword [ebp - 0x48]
mov edx, eax
call fcn.00515e90
test eax, eax
je 0x4ea391
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
inc eax
inc edi
add eax, ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], eax
mov esi, edi
cmp edi, 0x11
jl 0x4ea360
cmp esi, 0x11
mov esi, dword [ebp - 0x24]
jge 0x4eb69c
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edi*8 + 0x54eb34]
test edx, edx
jle 0x4ea3bc
lea eax, [ecx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x4eb65c
lea esp, [esp]
cmp ecx, 0x80250000
ja 0x4ea43e
je 0x4ea474
cmp ecx, 0x80230000
ja 0x4ea42a
mov edi, edi
je 0x4ead7f
cmp ecx, 0x80020000
je 0x4ead4d
cmp ecx, 0x80220000
jne 0x4eb692
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov dword [ebx], ecx
add ebx, 4
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
movzx eax, cx
add esi, 2
mov ecx, dword [ebp + 0xc]
inc eax
movzx edx, ax
mov dword [ebp - 4], esi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], edx
jmp 0x4e8ea0
cmp ecx, 0x80240000
jne 0x4eb692
mov edi, dword [ebp - 0xc]
jmp 0x4eadb6
mov edi, edi
cmp ecx, 0x80280000
ja 0x4ea48a
je 0x4ea474
cmp ecx, 0x80260000
je 0x4ea474
mov edi, edi
cmp ecx, 0x80270000
jne 0x4eb692
mov edi, dword [ebp - 0xc]
jmp 0x4ead9c
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov dword [ebx], ecx
mov eax, dword [ebp - 4]
sub eax, 2
mov dword [ebp - 4], eax
jmp 0x4eae21
cmp ecx, 0x8fff0000
jne 0x4eb692
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebx], 0x80220000
add dword [ebp - 4], 2
mov dword [ebx + 4], 0x80020000
add ebx, 8
mov dword [ebp - 8], ebx
test edx, edx
jne 0x4ea4cc
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x34], edx
jmp 0x4ea4de
add edx, 0xc
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x68]
jae 0x4eb685
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0xc]
mov word [edx], ax
mov eax, 4
mov word [edx + 6], ax
mov eax, dword [ebp - 0x28]
and eax, 0x10424e8
mov dword [edx + 8], eax
jmp 0x4e8e93
push ecx
lea eax, [ebp - 0x20]
mov edx, edi
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push 0
push dword [ebp - 0x3c]
lfence
lea ecx, [ebp - 4]
mov dword [ebp - 0x14], 0x54e8b4
call fcn.004e8920
test eax, eax
je 0x4eb6ba
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], esi
cmp esi, edi
jae 0x4eb7a9
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4ea54e
cmp eax, 0x29
jne 0x4eb7a9
mov edx, dword [ebp - 0x38]
xor edi, edi
mov ecx, dword [ebp - 0x14]
mov eax, 0x54eac0
mov dword [ebp - 0x30], edi
xor esi, esi
mov dword [ebp - 0x18], eax
mov ebx, dword [eax]
cmp edx, ebx
jne 0x4ea591
push edx
mov edx, ecx
mov ecx, dword [ebp - 0x48]
call fcn.00515e90
jmp 0x4ea580
test eax, eax
je 0x4ea5a8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
inc ecx
inc edi
add ecx, ebx
mov dword [ebp - 0x30], edi
add eax, 0xc
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
mov esi, edi
cmp edi, 9
jl 0x4ea563
cmp esi, 9
mov esi, dword [ebp - 0x24]
jge 0x4eb7a9
cmp word [esi], 0x3a
jne 0x4ea5d0
lea eax, [esi + 2]
cmp eax, dword [ebp - 0xc]
jae 0x4ea5d0
cmp word [eax], 0x29
cmove esi, eax
mov dword [ebp - 4], esi
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x54eac8]
test edi, edi
jle 0x4ea5e8
cmp word [esi], 0x3a
jne 0x4eb6a6
mov ecx, dword [ecx*4 + 0x54eac4]
xor eax, eax
mov ebx, dword [ebp - 8]
cmp ecx, 0x802a0000
mov dword [ebp - 0x80], ebx
sete al
mov dword [ebp - 0x18], eax
movzx eax, word [esi]
lea edx, [ebx + 4]
add esi, 2
mov dword [ebp - 4], esi
cmp eax, 0x3a
jne 0x4ea665
test edi, edi
jns 0x4ea629
mov dword [ebp - 0x70], ecx
mov eax, 0x80290000
jmp 0x4ea63b
xor eax, eax
mov esi, 0x10000
cmp ecx, 0x80290000
cmovne eax, esi
add eax, ecx
mov edi, dword ds:[ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], eax
lea ebx, [edx + 4]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x84], edx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x60], 1
jmp 0x4e8e96
mov edi, dword [ebp - 0xc]
mov dword [ebx], ecx
mov ebx, edx
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
jmp 0x4e8e96
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4eb806
movzx ecx, word [esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x4ea6a0.46
movzx eax, byte [eax + 0x4eb9d8]
mov edi, edi
jmp dword [eax*4 + 0x4eb9a0]
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4eb806
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x4ea6c7
mov eax, 0x3e
jmp 0x4eaeaa
cmp eax, 0x3e
je case.0x4ea6a0.34
cmp eax, 0x3d
jne 0x4eb6b0
push dword [ebp + 0xc]
lea eax, [ebp - 0x20]
mov edx, edi
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x29
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.004e8920
mov edi, edi
test eax, eax
je 0x4eb6ba
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x38]
mov dword [ebx], 0x80040000
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 8], eax
add ebx, 0xc
jmp 0x4e999f
add esi, 2
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4ea73e
cmp word [esi], 0x29
je 0x4eb1b2
mov ecx, 0x9e
jmp 0x4eb80b
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x4ea76e
movzx eax, word ds:[esi + 2]
cmp eax, 0x30
jb 0x4ea76e
cmp eax, 0x39
jbe case.0x4ea6a0.39
mov ecx, 0x81
jmp 0x4eb80b
push dword [ebp + 0xc]
lea eax, [ebp - 0x20]
mov edx, edi
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x29
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.004e8920
lea ecx, [ecx]
test eax, eax
je 0x4eb6ba
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0x38]
mov dword [ebx], 0x80210000
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 8], eax
add ebx, 0xc
jmp 0x4e999f
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4eb806
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
dec eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
test ecx, ecx
je 0x4ea803
test byte [ebp - 0x28], 4
je 0x4ea803
lea eax, [ebx - 0x10]
cmp ecx, eax
jne 0x4ea803
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx ecx, word [esi]
mov edx, ebx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x58], 1
cmp ecx, 0x29
je 0x4ea8c5
mov edi, edi
cmp ecx, 0x30
jb 0x4ea82e
cmp ecx, 0x39
jbe 0x4ea8c5
xor eax, eax
mov edx, ecx
mov dword [ebp - 0x30], eax
mov ecx, 0x60
lea ebx, [ebx]
cmp edx, ecx
je 0x4ea865
mov ecx, dword [eax*4 + 0x567cb4]
inc eax
mov dword [ebp - 0x30], eax
test ecx, ecx
jne 0x4ea840
mov ecx, 0xb6
jmp 0x4eb80b
mov edx, dword [eax*4 + 0x551df4]
test edx, edx
je 0x4ea857
mov dword [ebx], 0x80070000
mov ecx, dword [ebp - 4]
lea esp, [esp]
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, edi
jae 0x4eb6c5
movzx eax, word [ecx]
cmp eax, edx
jne 0x4ea880
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, edi
jae 0x4ea8a6
movzx eax, word [ecx]
cmp eax, edx
je 0x4ea880
mov edx, dword [ebp - 0x44]
sub ecx, esi
sar ecx, 1
mov dword [ebx + 0xc], ecx
add ebx, 0x10
mov ecx, dword [ebp + 0xc]
sub esi, dword [ecx + 0x1c]
sar esi, 1
mov dword [ebp - 0x40], esi
mov dword [ebx], esi
jmp 0x4ea919
mov dword [ebx], 0x80060000
xor ecx, ecx
mov esi, dword [ebp - 4]
add ebx, 0xc
cmp esi, edi
jae 0x4ea914
jmp 0x4ea8e0
movzx eax, word [esi]
cmp eax, 0x30
jb 0x4ea914
cmp eax, 0x39
ja 0x4ea914
lea ecx, [ecx + ecx*4]
add esi, 2
lea ecx, [ecx - 0x18]
mov dword [ebp - 4], esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x4eb6cf
cmp esi, edi
jb 0x4ea8e0
mov dword [ebx], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword ds:[ebp - 4]
cmp esi, edi
jae 0x4eb6d9
cmp word [esi], 0x29
jne 0x4eb6d9
add esi, 2
mov dword [ebp - 4], esi
sub esi, dword [ecx + 0x1c]
sar esi, 1
mov dword [edx + 4], esi
mov dword [edx + 8], 0
jmp 0x4e8e8d
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edi
jae 0x4eb806
mov edx, dword [ebp - 0x10]
movzx eax, word [esi]
inc edx
mov dword [ebp - 0x10], edx
cmp eax, 0x3f
je 0x4ead26
cmp eax, 0x2a
je 0x4ead26
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
mov edx, edi
push eax
push 0xa1
push 0xffff
lfence
push dword [esi + 0x74]
lea ecx, [ebp - 4]
call fcn.004e7ac0
jmp 0x4ea9a0
test eax, eax
je 0x4ea9d8
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jle 0x4eb6e5
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80120000
mov eax, dword [ebp - 4]
sub eax, dword [esi + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x40], eax
jmp 0x4eacf8
mov ecx, dword ds:[ebp - 0x20]
test ecx, ecx
jne 0x4eb78a
mov eax, dword [ebp - 4]
mov ebx, edi
sub ebx, eax
sar ebx, 1
cmp ebx, 0xa
jl 0x4eab4d
lea edi, [ecx + 7]
mov edx, str.VERSION
mov esi, eax
movsx ax, byte [edx]
lea esi, [esi + 2]
movzx ecx, word [esi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x4eab4d
mov edi, edi
sub edi, 1
jne 0x4eaa04
mov esi, dword [ebp - 4]
add esi, 0xe
cmp word [esi], 0x29
je 0x4eab4d
xor ebx, ebx
mov dword [ebp - 4], esi
cmp word [esi], 0x3e
mov eax, esi
mov dword [ebp - 0x24], ebx
jne 0x4eaa50
add esi, 2
lea ebx, [edi + 1]
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x3d
jne 0x4eb6f2
lea esi, [eax + 2]
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp eax, 0x30
jb 0x4eb6f2
cmp eax, 0x39
ja 0x4eb6f2
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea ecx, [ebp - 4]
lfence
call fcn.004e7ac0
test eax, eax
je 0x4eb6ba
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
cmp esi, edx
jae 0x4eb6f2
cmp word [esi], 0x2e
jne 0x4eab28
add esi, 2
mov dword [ebp - 4], esi
cmp esi, edx
jae 0x4eb6f2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x4eb6f2
cmp eax, 0x39
ja 0x4eb6f2
sub eax, 0x30
add esi, 2
mov dword [ebp - 4], esi
movzx ecx, word [esi]
lea edi, [eax + eax*4]
add edi, edi
mov eax, esi
cmp ecx, 0x30
jb 0x4eab16
lea esp, [esp]
cmp ecx, 0x39
ja 0x4eab16
lea eax, [ecx - 0x30]
add edi, eax
lea eax, [esi + 2]
mov esi, eax
mov dword [ebp - 4], esi
cmp eax, edx
jae 0x4eb6f2
cmp word [esi], 0x29
jne 0x4eb6f2
mov eax, dword [ebp - 8]
mov dword [eax], 0x80150000
add eax, 4
mov dword [ebp - 8], eax
mov dword [eax], ebx
mov ebx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebx], edi
mov edi, edx
jmp 0x4eacf8
lfence
mov eax, dword [ebp - 4]
xor edi, edi
movzx ecx, word [eax]
cmp ecx, 0x52
jne 0x4eab93
cmp ebx, 1
jle 0x4eabb5
cmp word ds:[eax + 2], 0x26
lea ecx, [eax + 2]
jne 0x4eabb5
mov edi, 1
mov dword [ebp - 4], ecx
jmp 0x4eabbb
cmp ecx, 0x3c
jne 0x4eaba5
lea esi, ds:[ecx + 2]
jmp 0x4eabc0
cmp ecx, 0x27
jne 0x4eabb5
mov esi, ecx
jmp 0x4eabc0
sub eax, 2
mov dword [ebp - 4], eax
mov esi, 0x29
push dword ds:[ebp + 0xc]
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
push esi
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
call fcn.004e8920
test eax, eax
je 0x4eb6ba
test edi, edi
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
je 0x4eac0d
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80130000
sub dword [ebp - 4], 2
jmp 0x4eacd7
cmp esi, 0x29
jne 0x4eacce
mov ebx, dword ds:[ebp - 0x48]
cmp edi, 6
jne 0x4eac6b
lea edi, [esi - 0x23]
mov edx, str.DEFINE
mov esi, ebx
movsx ax, byte [edx]
lea esi, [esi + 2]
movzx ecx, word [esi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x4eac68
sub edi, 1
jne 0x4eac33
mov ebx, dword [ebp - 8]
mov eax, 0x80100000
mov edi, dword [ebp - 0x24]
mov dword [ebx], eax
sub dword [ebp - 4], 2
jmp 0x4eacd7
mov edi, dword [ebp - 0x24]
mov eax, 1
mov dword [ebp - 0x30], eax
mov ecx, eax
cmp edi, eax
jle 0x4eaca4
mov esi, eax
nop
movzx edx, word [ebx + eax*2]
mov ecx, esi
cmp edx, 0x30
jb 0x4eaca4
cmp edx, 0x39
ja 0x4eaca4
inc eax
mov dword [ebp - 0x30], eax
mov ecx, eax
mov esi, ecx
cmp eax, edi
jl 0x4eac80
cmp word [ebx], 0x52
jne 0x4eacbb
mov eax, 0x80140000
cmp ecx, edi
jge 0x4eacc0
mov eax, 0x80110000
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
sub dword [ebp - 4], 2
jmp 0x4eacd7
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80110000
mov eax, dword ds:[ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x4eacf0
mov dword [ebx], edi
add ebx, 4
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0xc]
mov dword [ebx], eax
mov esi, dword ds:[ebp - 4]
cmp esi, edi
jae 0x4eb6fc
cmp word [esi], 0x29
jne 0x4eb6fc
mov ecx, dword [ebp + 0xc]
add esi, 2
add ebx, 4
mov dword [ebp - 4], esi
mov dword [ebp - 8], ebx
jmp 0x4e8e96
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x5c], 2
mov dword [ebx], 0x800f0000
add ebx, 4
mov esi, dword [ebp - 4]
sub esi, 2
mov dword [ebp - 8], ebx
mov dword [ebp - 4], esi
jmp 0x4e8ea0
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x10], edx
mov dword [ebx], 0x80020000
add ebx, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], ebx
mov dword [ebp - 4], esi
jmp 0x4e8ea0
mov edx, dword [ebp - 0x2c]
jmp 0x4ead82
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80230000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x4eae43
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80270000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x4eae43
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80240000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x4eae43
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4ea6bd
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x4eae11
cmp eax, 0x21
je 0x4eadfc
cmp eax, 0x2a
jne 0x4ea6bd
cmp eax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x4eae16
mov ecx, 0x80250000
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov dword [ebx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
add ebx, 4
mov dword [ecx], 1
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx], eax
mov esi, dword [ebp - 4]
mov dword [ebp - 0x40], eax
add esi, 4
mov eax, dword [ebp - 0x10]
add ebx, 4
inc eax
mov dword [ebp - 8], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
test edx, edx
jle 0x4e8e96
mov edx, dword ds:[ebp - 0x34]
test edx, edx
jne 0x4eae73
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x34], edx
jmp 0x4eae89
add edx, 0xc
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x68]
jae 0x4eb688
mov word [edx], ax
mov eax, 2
mov word [edx + 6], ax
mov eax, dword [ebp - 0x28]
and eax, 0x10424e8
mov dword [edx + 8], eax
jmp 0x4e8e93
mov eax, 0x27
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
push edx
push ecx
lea ecx, [ebp - 0x38]
mov edx, edi
push ecx
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x40]
push ecx
push eax
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.004e8920
test eax, eax
je 0x4eb6ba
mov edx, dword ds:[ebp + 0xc]
mov eax, dword [edx + 0x74]
cmp eax, 0xffff
jae 0x4eb73f
mov ebx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x10]
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 0x4eb732
mov esi, dword [ebp - 0x38]
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 2]
movzx eax, word [ebx + 0x5a]
cmp ecx, eax
jbe 0x4eaf30
lea eax, [esi + 2]
mov word [ebx + 0x5a], ax
mov ebx, dword [ebx + 0x64]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], ecx
cmp ax, dx
jae 0x4eaff5
lea ebx, [ebx]
movzx eax, word [ebx + 8]
cmp esi, eax
jne 0x4eafcd
mov edx, dword [ebx]
mov edi, esi
mov esi, dword [ebp - 0x48]
test edi, edi
je 0x4eaf91
jmp 0x4eaf70
movzx ecx, word ds:[esi]
lea esi, [esi + 2]
movzx eax, word [edx]
lea edx, [edx + 2]
cmp cx, ax
jne 0x4eafca
sub edi, 1
jne 0x4eaf70
mov ecx, dword [ebp - 0x30]
mov esi, dword ds:[ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x4eb01e
test byte [ebp - 0x28], 0x40
je 0x4eb706
mov eax, 1
mov word [ebx + 0xa], ax
mov dword [ebp - 0x24], eax
mov dword [esi + 0xbc], eax
jmp 0x4eafdc
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x4eb713
movzx eax, word [esi + 0x58]
inc ecx
mov esi, dword [ebp - 0x38]
add ebx, 0xc
mov dword [ebp - 0x30], ecx
cmp ecx, eax
jl 0x4eaf50
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp + 0xc]
movzx ecx, word ds:[esi + 0x58]
mov edx, ecx
cmp dword [ebp - 0x30], edx
jge 0x4eb031
lea esp, [esp]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e96
mov edi, dword [ebp - 0xc]
jmp 0x4eaff8
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e96
mov eax, dword [esi + 0x68]
cmp edx, eax
jb 0x4eb0b5
mov esi, dword [esi]
lea ebx, [eax + eax]
lea eax, [ebx + ebx*2]
shl eax, 2
push dword [esi + 8]
mov esi, dword [esi]
mov ecx, esi
push eax
call dword [0x5404bc]
call esi
mov edi, eax
test edi, edi
je 0x4eb725
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [esi + 0x64]
push edi
call fcn.00521a30
add esp, 0xc
cmp dword [esi + 0x68], 0x14
jbe 0x4eb0ab
mov esi, dword ds:[esi]
mov eax, dword [ebp + 0xc]
push dword [esi + 8]
mov esi, dword [esi + 4]
mov ecx, esi
push dword [eax + 0x64]
call dword [0x5404bc]
call esi
mov esi, dword [ebp + 0xc]
movzx ecx, word [esi + 0x58]
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], ebx
mov edx, dword [ebp - 0x48]
movzx eax, cx
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x38]
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 - 0x24]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [esi + 0x58]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8e96
cmp ecx, 0x2d
jne 0x4eb1e6
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4eb1e6
movzx eax, word [esi + 2]
cmp eax, 0x30
jb 0x4eb1e6
cmp eax, 0x39
ja 0x4eb1e6
lfence
mov eax, dword [ebp - 4]
movzx eax, word [eax]
cmp eax, 0x30
jb 0x4eb165
cmp eax, 0x39
ja 0x4eb165
or eax, 0xffffffff
jmp 0x4eb16b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x20]
mov edx, edi
push ecx
lea ecx, [ebp - 0x30]
push ecx
push 0xa1
push 0xffff
push eax
lea ecx, [ebp - 4]
call fcn.004e7ac0
test eax, eax
je 0x4eb6ba
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 4]
test eax, eax
js 0x4eb74c
mov edi, edi
cmp esi, edi
jae 0x4eb806
cmp word [esi], 0x29
jne 0x4eb806
mov ebx, dword [ebp - 8]
or eax, 0x80200000
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
mov dword [ebx], eax
mov eax, dword [ebp - 4]
mov ecx, eax
sub ecx, dword [edx + 0x1c]
add eax, 2
sar ecx, 1
mov dword [ebp - 4], eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 0x40], ecx
mov ecx, edx
jmp 0x4e8e90
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x10], eax
test ebx, ebx
jne 0x4eb206
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0x14]
mov dword [ebp - 0x34], ebx
jmp 0x4eb218
add ebx, 0xc
mov dword [ebp - 0x34], ebx
cmp ebx, dword [ebp - 0x68]
jae 0x4eb688
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x28]
mov word [ebx], ax
xor eax, eax
mov word [ebx + 6], ax
mov eax, edx
and eax, 0x10424e8
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
cmp word [eax], 0x7c
jne 0x4eb27b
mov edx, dword [ebp - 0x34]
movzx eax, word [ecx + 0x74]
mov ebx, dword [ebp - 8]
mov word [edx + 2], ax
movzx eax, word [ecx + 0x74]
mov word [edx + 4], ax
mov eax, 1
mov word [edx + 6], ax
or dword [ecx + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], ebx
mov dword [ebp - 4], esi
jmp 0x4e8e96
mov eax, dword ds:[ebp - 0x34]
xor ecx, ecx
mov dword [ebp - 0x2c], edx
xor edi, edi
xor edx, edx
mov dword [ebp - 0x24], edi
mov ebx, 1
mov dword [ebp - 0x14], edx
mov dword [eax + 2], ecx
lea ecx, [ebp - 0x24]
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
cmp esi, eax
jae 0x4eb3a2
cmp word [esi], 0x5e
jne 0x4eb2c1
and dword [ebp - 0x28], 0xfeffdb57
xor ebx, ebx
add esi, 2
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x4eb3a2
lea esp, [esp]
movzx eax, word [esi]
cmp eax, 0x29
je 0x4eb39c
lea esp, [esp]
cmp eax, 0x3a
je 0x4eb39c
add esi, 2
sub eax, 0x2d
mov dword [ebp - 4], esi
cmp eax, 0x4b
ja case.0x4eb302.46
movzx eax, byte [eax + 0x4eba30]
jmp dword [eax*4 + 0x4eba0c]
test ebx, ebx
je 0x4eb759
lea ecx, [ebp - 0x14]
xor ebx, ebx
jmp 0x4eb393
mov eax, dword [ebp + 0xc]
or dword [ecx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x4eb393
or dword [ecx], 8
jmp 0x4eb393
or dword ds:[ecx], 0x400
jmp 0x4eb393
or dword [ecx], 0x2000
jmp 0x4eb393
or dword [ecx], 0x20
jmp 0x4eb393
or dword ds:[ecx], 0x40000
jmp 0x4eb393
mov eax, dword [ecx]
or eax, 0x80
mov dword [ecx], eax
cmp esi, dword [ebp - 0xc]
jae 0x4eb39c
cmp word ds:[esi], 0x78
jne 0x4eb393
or eax, 0x1000000
add esi, 2
mov dword [ecx], eax
mov dword [ebp - 4], esi
cmp esi, dword [ebp - 0xc]
jb 0x4eb2d0
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x4eb3bc
test dl, dl
jns 0x4eb3c2
or edx, 0x1000000
or edi, dword [ebp - 0x28]
not edx
and edx, edi
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x28], edx
cmp esi, edi
jae 0x4eb806
movzx eax, word [esi]
add esi, 2
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
cmp eax, 0x29
jne 0x4eb434
mov eax, dword ds:[ebp - 0x7c]
mov ebx, dword [ebp - 0x34]
movzx eax, ax
mov dword [ebp - 0x10], eax
cmp ebx, dword [ecx + 0x14]
jbe 0x4eb429
mov edi, dword [ebp - 0x10]
lea eax, [ebx - 0xc]
cmp word [eax], di
mov edi, dword [ebp - 0xc]
jne 0x4eb426
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x34], eax
jmp 0x4eb446
mov eax, dword [ebp - 0x10]
mov word [ebx], ax
mov ebx, dword [ebp - 8]
jmp 0x4eb443
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 8], ebx
mov esi, dword [ebp - 4]
cmp edx, dword [ebp - 0x2c]
je 0x4e8e96
mov dword ds:[ebx], 0x801b0000
mov dword [ebx + 4], edx
add ebx, 8
jmp 0x4e8e90
mov edx, dword [ebp - 0x34]
test edx, edx
je 0x4eb4b4
mov eax, dword [ebp - 0x10]
cmp word [edx], ax
jne 0x4eb4b4
test byte [edx + 6], 1
je 0x4eb4b4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x74]
movzx eax, word [edx + 4]
cmp ecx, eax
jbe 0x4eb49c
mov word [edx + 4], cx
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 8]
movzx eax, word [edx + 2]
mov dword [ecx + 0x74], eax
mov dword [ebx], 0x80010000
jmp 0x4e8e8a
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx], 0x80010000
jmp 0x4e8e8a
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x18], 1
test edx, edx
je 0x4eb56e
mov eax, dword ds:[ebp - 0x10]
cmp word [edx], ax
jne 0x4eb56e
mov eax, dword [ebp - 0x28]
movzx ecx, word [edx + 6]
and eax, 0xfefbdb17
or eax, dword [edx + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov eax, ecx
test cl, 1
je 0x4eb528
movzx edx, word [edx + 4]
cmp edx, dword [ebx + 0x74]
jbe 0x4eb525
mov dword [ebx + 0x74], edx
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 6]
jmp 0x4eb528
mov edx, dword [ebp - 0x34]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x18], ecx
test al, 4
je 0x4eb54e
mov eax, dword [ebp - 8]
mov dword [eax], 0x80190000
add eax, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp edx, dword [ebx + 0x14]
jne 0x4eb565
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x4eb56e
sub edx, 0xc
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x10]
test dx, dx
je 0x4eb773
mov ebx, dword [ebp - 8]
add edx, 0xffff
mov dword [ebp - 0x10], edx
mov dword [ebx], 0x80190000
add ebx, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
mov edi, dword ds:[ebp - 0xc]
mov ecx, dword [ebp + 0xc]
jmp 0x4e8ea0
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], 1
mov dword [ebx], edx
jmp 0x4e8e8a
lea esi, [edi - 2]
mov ecx, 0x80
jmp 0x4eb80b
mov ecx, 0x8c
jmp 0x4eb80b
lea esi, [edi - 2]
mov ecx, 0xb0
jmp 0x4eb80b
mov ecx, 0x76
jmp 0x4eb80b
mov ecx, 0x6d
sub esi, 2
jmp 0x4eb80b
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x4eb80b
mov ecx, 0x71
sub esi, 2
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x6b
sub esi, 2
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0xab
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x96
jmp 0x4eb80b
mov ecx, 0x6c
sub esi, 2
jmp 0x4eb80b
mov ecx, 0x6a
jmp 0x4eb80b
lea esp, [esp]
cmp ecx, 0x80270000
je 0x4eb678
cmp ecx, 0x80280000
jne 0x4eb5bc
mov ecx, 0xc6
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0xb8
jmp 0x4eb80b
mov ecx, 0xbd
jmp 0x4eb80b
mov ecx, 0xc3
jmp 0x4eb80b
mov ecx, 0xa6
jmp 0x4eb80b
mov ecx, 0x8d
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
jmp 0x4eb80b
mov ecx, 0xb5
jmp 0x4eb80b
mov ecx, 0x8a
jmp 0x4eb80b
mov ecx, 0x8b
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x73
jmp 0x4eb80b
mov ecx, 0xb3
jmp 0x4eb80b
mov ecx, 0x7c
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x8f
jmp 0x4eb80b
mov esi, dword ds:[ebp - 4]
mov ecx, 0xa5
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x79
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0x95
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0xc5
jmp 0x4eb80b
mov ecx, 0x73
sub esi, 2
jmp 0x4eb80b
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x4eb80b
mov ecx, 0x6f
add esi, 0xfffffffe
jmp 0x4eb80b
mov ecx, 0x7a
sub esi, 2
jmp 0x4eb80b
mov ecx, 0x77
mov esi, dword [ebp - 4]
jmp 0x4eb80b
mov esi, dword [ebp - 4]
mov ecx, 0xa3
jmp 0x4eb80b
cmp dword [ebp - 0x60], 0
je 0x4e8dbb
mov ecx, 0xa0
jmp 0x4eb80b
test byte [ebp - 0x74], 4
je 0x4eb7d0
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
mov esi, dword [ebp - 4]
add ecx, 8
cmp ecx, dword [ebp - 0x78]
jb 0x4eb7e5
mov ecx, 0xa3
jmp 0x4eb80b
cmp word [ebp - 0x10], 0
mov dword [ecx], 0x80000000
jne 0x4eb803
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebp - 4]
mov ecx, 0x72
mov eax, dword ds:[ebp + 0xc]
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 8