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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
push ebx
xor eax, eax
mov dword [ebp - 0xc], 0
push esi
push edi
mov edi, edx
mov dword [ebp - 0x60], eax
xor edx, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x70], eax
mov esi, ecx
mov dword [ebp - 0x88], edx
mov ebx, edi
mov edx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
shr ebx, 2
and ebx, 1
mov dword [ebp - 0x28], 0
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x7c]
mov dword [ebp - 0x84], eax
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [edx]
mov dword [ebp - 0x78], ebx
mov ebx, dword [edx + 0x20]
mov dword [ebp - 8], ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x68], eax
mov eax, edi
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x10], ebx
test byte [ebp - 0x6c], 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x8c], 0
je 0x55d0fe
mov dword [ecx], 0x80090000
jmp 0x55d10a
test byte [ebp - 0x6c], 4
je 0x55d11a
mov dword [ecx], 0x80180005
mov dword [ecx + 4], 0x801a0000
add ecx, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ecx
lea ebx, [ebx]
test edi, 0x2000000
je 0x55d286
mov edi, dword [ebp - 8]
cmp esi, ebx
jae 0x55d208
jmp 0x55d140
cmp edi, dword [ebp - 0x84]
jae 0x55fc3a
movzx ecx, word [esi]
lea edx, [esi + 2]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
test eax, eax
je 0x55d18c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d18c
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 - 0x18], ecx
cmp dword [ebp - 0x78], 0
je 0x55d1f3
mov eax, dword ds:[ebp - 0x48]
mov ecx, edi
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x55d1ca
mov ebx, dword [ebp - 0x48]
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, dword [ebx + 4]
mov dword [ebx + 8], eax
lea eax, [edi - 0x10]
cmp ebx, eax
mov ebx, dword [ebp - 0x10]
jne 0x55d1ca
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0xc], 0xff
je 0x55d1e6
mov eax, edi
mov dword [edi], 0x80060000
mov dword [ebp - 0x48], eax
lea ecx, [edi + 0x10]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
sub esi, dword [edx + 0x1c]
mov edi, ecx
sar esi, 1
mov dword [eax + 4], esi
mov ecx, dword [ebp - 0x18]
mov eax, dword ds:[ebp - 0x3c]
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
cmp esi, ebx
jb 0x55d140
cmp dword [ebp - 0x48], 0
mov ecx, edi
mov ebx, dword [ebp + 0xc]
mov edx, esi
je 0x55d228
mov esi, dword [ebp - 0x48]
mov eax, edx
sub eax, dword [ebx + 0x1c]
sar eax, 1
sub eax, dword [esi + 4]
mov dword [esi + 8], eax
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x78], 0
je 0x55d269
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x55d245
lea eax, [edi - 0x10]
cmp esi, eax
jne 0x55d245
cmp dword [esi + 0xc], 0xff
je 0x55d25e
mov esi, edi
mov dword [edi], 0x80060000
lea ecx, [edi + 0x10]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
sub edx, dword [ebx + 0x1c]
sar edx, 1
mov dword [esi + 4], edx
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x6c]
test al, 8
je 0x55fc13
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x55fc28
mov ecx, dword [edx + 0x28]
xor eax, eax
add ecx, ecx
mov dword [ebp - 0x30], eax
mov eax, ecx
mov dword [ebp - 0x20], 0xc
xor edx, edx
div dword [ebp - 0x20]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
sub eax, edx
add eax, ecx
mov ecx, edi
or ecx, 0x80
mov dword [ebp - 0x80], eax
test edi, 0x1000000
cmove ecx, edi
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
xor edx, edx
mov ecx, dword [ebp + 0xc]
jmp 0x55d2e0
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
jmp 0x55d2e0
add esi, 2
mov dword [ebp - 4], esi
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
cmp esi, ebx
jae 0x55fbff
lfence
cmp edi, dword [ebp - 0x84]
jae 0x55fbf2
mov ebx, dword ds:[ecx]
movzx eax, dx
cmp eax, dword [ebx + 0x20]
ja 0x55fbe5
cmp dword [ebp - 0x3c], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
movzx edx, word [eax]
lea esi, [eax + 2]
mov dword [ebp - 0x18], edx
mov ecx, edx
mov dword [ebp - 4], esi
mov edi, esi
je 0x55d359
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55d359
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 - 0x18], edx
mov ecx, edx
mov dword [ebp - 4], esi
mov edi, esi
cmp dword ds:[ebp - 0x58], 0
je 0x55d3ed
cmp ecx, 0x5c
jne 0x55d385
mov ebx, dword [ebp - 0x10]
cmp edi, ebx
jae 0x55d385
cmp word [esi], 0x45
jne 0x55d385
mov dword ds:[ebp - 0x58], 0
jmp 0x55d2d1
cmp dword [ebp - 0x64], 0
jg case.0x55d800.36
cmp dword [ebp - 0x68], 0
je 0x55d39a
mov edi, dword [ebp - 8]
jmp 0x55d3d3
mov ecx, dword [ebp - 0x74]
mov eax, ecx
dec ecx
mov dword [ebp - 0x74], ecx
test eax, eax
jg 0x55d3c9
push dword [ebp + 0xc]
mov ebx, dword [ebp - 8]
lea edx, [ebp - 0x70]
mov ecx, dword [ebp - 0x14]
push ebx
push dword [ebp - 0x78]
call fcn.0055cfe0
mov edx, dword [ebp - 0x18]
mov edi, eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
jmp 0x55d3cc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
mov ebx, dword [ebp - 0x10]
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 0x54], 0
mov dword [ebp - 8], edi
jmp 0x55d2da
cmp dword [ebp - 0x68], 0
je 0x55d566
mov eax, dword ds:[ebp - 0x24]
and eax, 0x400080
cmp eax, 0x400080
jne 0x55d45a
cmp ecx, 0xff
jbe 0x55d427
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x55d427
jmp 0x55d420
cmp eax, 0x2029
jne 0x55d45a
mov ecx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x55d569
cmp edx, 0x23
je 0x55d569
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 1
jne 0x55d569
cmp edx, 0x85
je 0x55d569
jmp 0x55d45d
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx]
cmp edx, 0x29
je 0x55d511
cmp edx, 0x5c
je 0x55d485
mov edi, dword ds:[ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov eax, dword [ebp - 0x24]
test eax, 0x400000
je 0x55d4fb
push ecx
push 0
push dword [ebx + 0x24]
mov ebx, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
mov edx, ebx
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0055bf60
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x55fbea
sub eax, ecx
je 0x55d4e5
lea ebx, [ebx]
sub eax, 0x19
je 0x55f4a0
mov esi, dword [ebp - 4]
sub eax, 1
jne 0x55fa34
mov dword ds:[ebp - 0x58], 1
jmp 0x55d2d7
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov eax, esi
mov dword [ebp - 0x68], 0
sub eax, dword [ebp - 0x8c]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x55fa3e
mov edi, dword [ebp - 8]
mov eax, edi
mov ecx, dword [ebp - 0x88]
sub eax, ecx
mov ebx, dword [ebp - 0x10]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x55ebaa
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
mov dword [ebp - 0x7c], 0
jmp 0x55d2da
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x10]
cmp edx, 0x5c
jne 0x55d595
cmp esi, ebx
jae 0x55d595
movzx eax, word [esi]
cmp eax, 0x51
je 0x55d585
lea ecx, [ecx]
cmp eax, 0x45
jne 0x55d595
xor edx, edx
cmp eax, 0x51
sete dl
mov dword [ebp - 0x58], edx
jmp 0x55d2d1
test byte [ebp - 0x24], 0x80
je 0x55d6e5
nop
cmp edx, 0x100
jae 0x55d5b8
mov eax, dword [ecx + 0x10]
mov edi, dword [ebp - 8]
test byte [edx + eax], 1
jne 0x55d2da
mov edi, dword ds:[ebp - 8]
cmp edx, 0x85
je 0x55d2da
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x55d2da
lea esp, [esp]
cmp eax, 0x2029
je 0x55d2da
cmp edx, 0x23
jne 0x55d6e5
mov ecx, dword ds:[ebp + 0xc]
mov edx, dword [ebp - 0xc]
cmp esi, ebx
jae 0x55fbff
mov edi, ecx
lea ebx, [ebx]
mov edx, dword ds:[edi + 0x90]
mov ecx, dword [edi + 0x20]
add edi, 0x94
test edx, edx
je 0x55d697
cmp esi, ecx
jae 0x55d643
push dword [ebp - 0x3c]
push edi
push ecx
mov ecx, esi
call fcn.0057ad60
test eax, eax
je 0x55d643
mov eax, 1
jmp 0x55d645
xor eax, eax
test eax, eax
jne 0x55d6cf
mov edi, dword [ebp + 0xc]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 4], esi
mov eax, esi
je 0x55d681
mov edi, edi
cmp esi, ebx
jae 0x55d681
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x55d610
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
cmp eax, ebx
jae 0x55d2e0
jmp 0x55d608
mov edx, dword ds:[edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x55d64d
mov ecx, dword [ebp + 0xc]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x55d6d9
cmp edx, 1
je 0x55d6cf
mov ax, word ds:[esi + 2]
mov edi, ecx
cmp ax, word [edi + 0xa2]
jne 0x55d650
add edi, 0x94
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x55d2d4
mov edi, ecx
jmp 0x55d650
cmp edx, 0x28
jne 0x55d725
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55d758
cmp word [esi], 0x3f
jne 0x55d758
cmp word [esi + 2], 0x23
jne 0x55d758
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55d71b
cmp word [esi], 0x29
jne 0x55d703
cmp esi, ebx
jb 0x55d2d1
mov ecx, 0x76
jmp 0x55fc6b
cmp edx, 0x2a
je 0x55d78c
cmp edx, 0x2b
je 0x55d78c
cmp edx, 0x3f
je 0x55d78c
cmp edx, 0x7b
jne 0x55d758
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x5c], esi
push eax
push 0
push 0
mov edx, ebx
lea ecx, [ebp - 0x5c]
call fcn.0055be40
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
test eax, eax
jne 0x55d78c
mov ecx, dword [ebp - 0x74]
mov eax, ecx
dec ecx
mov dword [ebp - 0x74], ecx
test eax, eax
jg 0x55d78c
mov edi, dword [ebp + 0xc]
lea edx, [ebp - 0x70]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
push edi
push ebx
push dword [ebp - 0x78]
call fcn.0055cfe0
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
jmp 0x55d78f
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x64]
test ebx, ebx
jle case.0x55d800.33
cmp edx, 0x28
jne case.0x55d800.36
mov eax, dword [ebp - 0x10]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x55d800.36
movzx eax, word [esi]
cmp eax, 0x3f
je 0x55d7c6
cmp eax, 0x2a
je 0x55d7cc
sub esi, 2
mov ecx, 0x80
jmp 0x55fc6b
cmp word [esi], 0x2a
jne 0x55d7e9
movzx eax, word [esi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x55d7e5
mov ecx, eax
mov eax, dword [edi + 0x10]
test byte [ecx + eax], 4
jne case.0x55d800.33
xor eax, eax
jmp 0x55d824
movzx eax, word [esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x55d800.36
movzx eax, byte [eax + 0x55fc94]
lea esp, [esp]
jmp dword [eax*4 + 0x55fc84]
xor eax, eax
cmp ebx, 2
sete al
jmp 0x55d824
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x55d81f
cmp eax, 0x21
jne case.0x55d800.36
mov eax, 1
test eax, eax
je case.0x55d800.36
mov eax, dword [ebp - 0x54]
mov edi, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x54], 0
test eax, eax
je 0x55d88b
cmp edx, 0x3f
je 0x55d856
cmp edx, 0x2b
jne 0x55d88b
mov ebx, dword [ebp - 0x10]
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 - 8]
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + edi], ecx
mov esi, dword [ebp - 4]
jmp 0x55d2da
lea eax, [edx - 0x24]
cmp eax, 0x58
ja case.0x55d8a0.48
movzx eax, byte [eax + 0x55fcec]
mov edi, edi
jmp dword [eax*4 + 0x55fcb8]
mov ebx, dword [ebp - 0x10]
lea ecx, [ebp - 4]
mov dword [ebp - 0x20], esi
mov edx, ebx
mov dword [ebp - 0x5c], esi
mov esi, dword [ebp + 0xc]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0055bf60
mov ecx, dword [ebp - 0x1c]
mov edi, eax
test ecx, ecx
jne 0x55d919
lea esp, [esp]
test edi, edi
je 0x55dc47
js 0x55dbe5
lea eax, [edi - 6]
cmp eax, 0x16
ja case.0x55d901.13
movzx eax, byte [eax + 0x55fd60]
jmp dword [eax*4 + 0x55fd48]
test dword [ebp - 0x24], 0x100000
je case.0x55d901.12
mov ecx, 0xb7
mov dword [ebp - 0x1c], ecx
mov esi, dword [ebp - 4]
test byte [ebp - 0x6c], 2
je 0x55fc6b
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 4], eax
cmp eax, ebx
jb 0x55dc4f
mov ecx, 0x5c
jmp 0x55dc91
lea eax, [edi - 0x7fe80000]
mov dword [ebp - 0x28], 1
mov edi, dword [ebp - 8]
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
xor eax, eax
lea edx, [ebp - 0x98]
mov word [ebp - 0x4c], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x34], ax
lea eax, [ebp - 0x1c]
push esi
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0055c800
test eax, eax
je 0x55db13
cmp dword [ebp - 0x98], 0
je 0x55d9a6
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
movzx ecx, word [ebp - 0x4c]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 8]
shl ecx, 0x10
mov dword [ebp - 0x28], 1
mov dword [edi], eax
movzx eax, word [ebp - 0x34]
or ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov esi, dword ds:[ebp - 4]
cmp esi, ebx
jae 0x55db1b
movzx eax, word [esi]
cmp eax, 0x7b
je 0x55da09
cmp eax, 0x3c
je 0x55da86
lea esp, [esp]
cmp eax, 0x27
jne 0x55db1b
cmp eax, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
lea esp, [esp]
cmp edi, 0x1b
jne 0x55daa8
cmp ebx, 0x7d
je 0x55daa8
mov edx, dword ds:[ebp - 0x10]
lea ecx, [ebp - 0x14]
lfence
mov esi, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 0xc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.0055bcc0
test eax, eax
je 0x55da9a
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x10]
jae 0x55da8d
movzx eax, word [ecx]
cmp eax, ebx
jne 0x55da8d
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
jmp 0x55f612
mov ebx, 0x3e
jmp 0x55da19
mov ecx, 0x9d
mov dword [ebp - 0x1c], ecx
jmp 0x55d91c
mov ecx, dword ds:[ebp - 0x1c]
test ecx, ecx
jne 0x55d91c
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
test eax, eax
je 0x55db13
cmp edi, 0x1c
je 0x55dae5
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x55daea
mov eax, 0x80040000
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
mov dword [edi], eax
mov eax, dword [ebp - 0x38]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [edi + 8], eax
add edi, 0xc
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov ecx, dword [ebp - 0x1c]
jmp 0x55d919
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x1c], ecx
jmp 0x55d91c
test dword [ebp - 0x24], 0x20000
mov dword [ebp - 0x28], 1
jne 0x55db5c
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 8]
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
lea esp, [esp]
cmp edi, 7
je 0x55db74
cmp edi, 9
je 0x55db74
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x55db79
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.0x55db90
jmp dword [edi*4 + 0x55fd78]
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x3000d
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x70000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x90000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
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 0x55dc2a
cmp dword [esi + edi*4 + 0x2c], 0xffffffff
jne 0x55dc15
mov dword [esi + edi*4 + 0x2c], ecx
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov ecx, dword [ebp - 0x18]
jmp 0x55dc94
cmp dword [ebp - 0x3c], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
mov edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], esi
je 0x55dc94
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55dc94
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 - 0x18], ecx
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x80090000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword ds:[ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x80160000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
mov dword [edi], 0x80170000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov dword [ebp - 0x54], 0x80340000
jmp 0x55dd80
mov dword [ebp - 0x54], 0x80370000
jmp 0x55dd80
mov dword [ebp - 0x54], 0x803a0000
jmp 0x55dd80
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 4]
call fcn.0055be40
test eax, eax
jne 0x55dd76
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x55fbea
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov esi, dword [ebp - 4]
mov dword [ebp - 0x54], 0x803d0000
test ebx, ebx
je 0x55fa4b
mov edi, dword [ebp - 8]
cmp dword [edi - 4], 0x802a0000
lea ecx, [edi - 4]
jne 0x55ddbc
mov edx, dword [ebp - 0x60]
cmp ecx, edx
jb 0x55ddac
mov edi, edi
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x55dda0
mov dword [edx], 0x801a0000
mov dword [edi + 4], 0x80190000
add edi, 8
mov eax, dword [ebp - 0x54]
mov dword [edi], eax
add edi, 4
cmp dword [ebp - 0x18], 0x7b
mov dword [ebp - 8], edi
jne 0x55f48b
mov eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x10]
mov dword [edi], eax
mov eax, dword [ebp - 0xa0]
mov dword [edi + 4], eax
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov eax, dword [ebp - 0x10]
sub eax, esi
mov dword [ebp - 0x28], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x55dee8
mov dword [ebp - 0x14], 6
mov edi, 0x61b768
mov ebx, esi
lea esp, [esp]
movsx ax, byte [edi]
lea ebx, [ebx + 2]
movzx ecx, word [ebx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x55de3e
sub dword [ebp - 0x14], 1
jne 0x55de20
jmp 0x55de70
mov dword [ebp - 0x14], 6
mov edi, str._:_:__
mov ebx, esi
lea esp, [esp]
movsx ax, byte [edi]
lea ebx, [ebx + 2]
movzx ecx, word [ebx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x55dee8
sub dword [ebp - 0x14], 1
jne 0x55de50
mov edx, dword [ebp - 8]
mov dword [edx], 0x80180005
lea ecx, [edx + 8]
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x3c
jne 0x55de8f
mov dword [edx + 4], 0x80230000
jmp 0x55dea8
mov eax, dword [ebp + 8]
mov dword [edx + 4], 0x80250000
mov dword [ecx], 0
add ecx, 4
mov dword [eax], 1
test dword [ebp - 0x24], 0x20000
lea edi, [ecx + 4]
jne 0x55debc
mov dword [ecx], 0x8018000b
jmp 0x55decb
mov dword [ecx], 0x80180010
mov dword [edi], 0x90000
add edi, 4
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x80190000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 0xc
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55d2da
mov eax, dword [ebp - 0x10]
cmp esi, eax
jae 0x55df2e
movzx eax, word [esi]
cmp eax, 0x3a
je 0x55df05
cmp eax, 0x2e
je 0x55df05
lea esp, [esp]
cmp eax, 0x3d
jne 0x55df2b
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x5c]
lfence
mov esi, dword [ebp - 4]
mov ecx, esi
push eax
call fcn.0055ccc0
lea esp, [esp]
test eax, eax
jne 0x55fa58
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
cmp esi, eax
jae 0x55e030
jmp 0x55df40
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov edi, edx
mov dword [ebp - 0x34], edx
mov ecx, esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], esi
je 0x55df93
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55df90
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 - 0x34], edx
mov edi, edx
mov dword [ebp - 0x18], edx
mov ecx, esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x10]
cmp edi, 0x5c
jne 0x55dffc
mov edi, ecx
mov edx, ecx
cmp ecx, eax
jae 0x55dfb5
cmp word [esi], 0x45
jne 0x55dfb5
lea esi, [ecx + 2]
mov dword [ebp - 4], esi
jmp 0x55e020
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55e02d
mov ebx, 3
mov edi, 0x61b778
movsx ax, byte [edi]
lea edx, [edx + 2]
movzx ecx, word [edx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x55e02a
sub ebx, 1
jne 0x55dfd3
mov ebx, dword [ebp - 0x14]
add esi, 6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], esi
jmp 0x55e020
test dword [ebp - 0x24], 0x1000000
je 0x55e00f
cmp edi, 0x20
je 0x55e020
cmp edi, 9
je 0x55e020
test ebx, ebx
jne 0x55e02d
cmp edx, 0x5e
jne 0x55e02d
mov ebx, 1
mov dword [ebp - 0x14], ebx
cmp esi, eax
jb 0x55df40
jmp 0x55e02d
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
cmp edx, 0x5d
jne 0x55e065
mov ecx, dword [ebp + 0xc]
test byte [ecx + 0x6c], 1
je 0x55e065
mov edi, dword ds:[ebp - 8]
test ebx, ebx
mov ebx, dword [ebp - 0x10]
mov eax, 0x800b0000
mov edx, 0x800c0000
cmovne eax, edx
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2dd
mov edx, dword [ebp - 8]
test ebx, ebx
mov ecx, 0x800e0000
mov dword [ebp - 0x28], 1
mov eax, 0x800a0000
cmovne eax, ecx
mov dword [edx], eax
add edx, 4
mov esi, dword [ebp - 4]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov dword [ebp - 0x14], ebx
jmp 0x55e096
mov edx, dword [ebp - 8]
cmp dword ds:[ebp - 0x58], 0
mov edi, 1
je 0x55e165
cmp ecx, 0x5c
jne 0x55e485
cmp esi, dword [ebp - 0x10]
jae 0x55e485
cmp word ds:[esi], 0x45
jne 0x55e485
add esi, 2
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], esi
mov edi, dword [ebp - 8]
cmp esi, dword [ebp - 0x10]
jae 0x55fab2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], esi
je 0x55e12b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55e12b
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 - 0x18], ecx
mov edx, ecx
mov dword [ebp - 4], esi
cmp edx, 0x5d
jne 0x55e093
cmp dword [ebp - 0x58], 0
jne 0x55e093
mov edi, edi
cmp ebx, 1
jne 0x55e14c
mov dword [edi - 4], 0x2d
mov ebx, dword ds:[ebp - 0x10]
mov dword [edi], 0x800d0000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
test dword [ebp - 0x24], 0x1000000
je 0x55e189
cmp ecx, 0x20
je 0x55e0d3
jmp 0x55e180
cmp ecx, 9
je 0x55e0d3
cmp ecx, 0x5b
jne 0x55e365
mov eax, dword ds:[ebp - 0x10]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x55e485
movzx eax, word [esi]
cmp eax, 0x3a
je 0x55e1bf
cmp eax, 0x2e
je 0x55e1bf
cmp eax, 0x3d
jne 0x55e485
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x5c]
lfence
mov esi, dword [ebp - 4]
mov ecx, esi
push eax
call fcn.0055ccc0
test eax, eax
je 0x55e35a
mov dword [ebp - 0x34], 0
cmp ebx, 1
je 0x55fa9b
cmp word [esi], 0x3a
jne 0x55fa6e
add esi, 2
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x5e
jne 0x55e20e
add esi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 4], esi
mov eax, esi
mov ecx, dword [ebp - 0x5c]
mov edi, 0x5d7b30
sub ecx, eax
mov dword [ebp - 0x20], edi
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x49], al
lea ebx, [ebx]
movzx eax, al
cmp ecx, eax
jne 0x55e2ee
mov edx, edi
mov ebx, ecx
mov edi, esi
test ecx, ecx
je 0x55e265
movsx ax, byte [edx]
lea edi, [edi + 2]
movzx ecx, word [edi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp cx, ax
jne 0x55e2e5
nop
sub ebx, 1
jne 0x55e245
mov edx, dword [ebp - 0x14]
test edx, edx
js 0x55e30d
mov esi, dword ds:[ebp - 0x5c]
mov eax, dword [ebp - 0x10]
add esi, 4
add eax, 0xfffffffe
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x55e295
cmp word [esi], 0x2d
jne 0x55e295
cmp word [esi + 2], 0x5d
jne 0x55fa9b
xor ebx, ebx
test dword [ebp - 0x24], 0x20000
mov dword [ebp - 0x14], ebx
je 0x55e339
mov eax, dword [edx*8 + 0x5d7620]
mov ecx, dword [edx*8 + 0x5d7624]
test eax, eax
js 0x55e317
mov edi, dword ds:[ebp - 8]
mov edx, dword [ebp - 0x34]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [edi], edx
mov dword [edi + 4], eax
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55e0d6
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
movzx eax, byte [ebp - 0x49]
inc edx
inc eax
mov dword [ebp - 0x14], edx
add edi, eax
mov dword [ebp - 0x20], edi
mov al, byte [edx + 0x5d7c18]
mov byte [ebp - 0x49], al
test al, al
jne 0x55e230
mov ecx, 0x82
jmp 0x55fc6b
test ecx, ecx
je 0x55e339
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55e0d6
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
add eax, 0x801c
shl eax, 0x10
mov dword [edi], eax
mov dword [edi + 4], edx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55e0d6
mov ecx, dword ds:[ebp - 0x18]
jmp 0x55e482
cmp ecx, 0x2d
jne 0x55e39e
cmp ebx, 2
jb 0x55e485
mov edi, dword [ebp - 8]
cmp ebx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
cmove eax, ecx
mov ebx, 1
mov dword [ebp - 0x14], ebx
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55e0d6
mov edi, edi
cmp ecx, 0x5c
jne 0x55e485
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 4]
mov edx, dword [ebp - 0x10]
mov edi, esi
push eax
push 1
mov eax, dword [eax]
mov ebx, esi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x44], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0055bf60
mov ecx, dword ds:[ebp - 0x1c]
mov esi, eax
test ecx, ecx
je 0x55e45c
test byte [ebp - 0x6c], 2
je 0x55fbea
mov esi, edi
mov dword [ebp - 4], esi
cmp ebx, dword [ebp - 0x10]
jb 0x55e409
mov ecx, 0x5c
mov dword [ebp - 0x18], ecx
jmp 0x55e47d
mov esi, dword ds:[ebp - 0x44]
movzx ecx, word [edi]
add esi, 2
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], esi
je 0x55e47d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55e47d
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 - 0x18], ecx
mov dword [ebp - 4], esi
jmp 0x55e47d
mov eax, esi
cmp esi, 0x1a
ja case.0x55e470.1
movzx eax, byte [eax + 0x55fda8]
jmp dword [eax*4 + 0x55fd90]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
xor edi, edi
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
cmp ebx, 1
jne 0x55e65a
cmp ecx, dword [edx - 8]
jne 0x55e625
mov edi, dword [ebp - 8]
sub edi, 4
xor ebx, ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], ebx
jmp 0x55e0d6
mov esi, dword [ebp - 4]
mov ecx, 8
mov dword [ebp - 0x18], ecx
xor edi, edi
jmp 0x55e47f
mov dword [ebp - 0x58], 1
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
jmp 0x55e0d3
cmp dword [ebp - 0x14], 1
je 0x55fa98
xor ebx, ebx
lea eax, [esi - 6]
mov dword [ebp - 0x14], ebx
cmp eax, 0xf
ja case.0x55e4f0.13
movzx eax, byte [eax + 0x55fdd8]
jmp dword [eax*4 + 0x55fdc4]
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x55e5f1
test dword [ebp - 0x24], 0x20000
jne 0x55e526
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x55e5f1
cmp esi, 7
je 0x55e53a
cmp esi, 9
je 0x55e53a
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x55e53f
mov eax, 0x80180010
mov edi, dword [ebp - 8]
add esi, 0xfffffffa
mov dword [edi], eax
add edi, 4
mov dword [ebp - 8], edi
cmp esi, 5
ja case.default.0x55e556
jmp dword [esi*4 + 0x55fde8]
mov dword [edi], 0x3000d
add edi, 4
jmp 0x55e5f1
mov dword [edi], 0x70000
add edi, 4
jmp 0x55e5f1
mov dword [edi], 0x90000
add edi, 4
jmp 0x55e5f1
push dword [ebp + 0xc]
xor eax, eax
lea edx, [ebp - 0xa4]
lfence
mov word [ebp - 0x34], ax
lea ecx, [ebp - 4]
mov word [ebp - 0x4c], ax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0055c800
test eax, eax
je 0x55fb1a
lea esp, [esp]
cmp dword [ebp - 0xa4], ebx
je 0x55e5d3
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
mov edi, dword [ebp - 8]
lea eax, [esi - 0x7fe80000]
movzx ecx, word [ebp - 0x34]
shl ecx, 0x10
mov dword [edi], eax
movzx eax, word [ebp - 0x4c]
or ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 8], edi
mov eax, dword ds:[ebp - 0x10]
mov esi, dword [ebp - 4]
add eax, 0xfffffffe
cmp esi, eax
jae 0x55e0d6
cmp word [esi], 0x2d
jne 0x55e0d6
cmp word [esi + 2], 0x5d
jne 0x55fa9b
lea ecx, [ecx]
jmp 0x55e0d6
jb 0x55faa5
test edi, edi
mov edi, dword [ebp - 8]
jne 0x55e645
cmp dword [edi - 4], 0x801f0000
jne 0x55e645
mov dword [edi - 4], 0x801e0000
mov ecx, dword [ebp - 0x18]
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
xor ebx, ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], ebx
jmp 0x55e0d6
lea ebx, [edi + 2]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], ebx
mov dword [edi], ecx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55e0d6
mov ebx, dword [ebp - 0x10]
cmp esi, ebx
jae 0x55fc66
movzx eax, word [esi]
cmp eax, 0x3f
je 0x55eafa
mov edx, dword [ebp - 0xc]
cmp eax, 0x2a
je 0x55e6e8
mov ecx, dword [ebp + 0xc]
inc edx
test dword [ebp - 0x24], 0x2000
mov dword [ebp - 0xc], edx
jne 0x55e6d0
mov eax, dword [ecx + 0x74]
cmp eax, 0xffff
jae 0x55fba2
mov edi, dword [ebp - 8]
inc eax
mov dword [ecx + 0x74], eax
or eax, 0x80080000
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2e0
mov edi, dword [ebp - 8]
mov eax, 0x801a0000
mov dword [edi], eax
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2e0
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55d2c9
movzx eax, word [esi + 2]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x18], edx
cmp ecx, 0x29
je 0x55d2d7
mov eax, 0xff
cmp cx, ax
mov ecx, dword [ebp + 0xc]
ja 0x55e95d
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 4
je 0x55e95d
push ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x44], 0x5d7690
push eax
lea eax, [ebp - 0x38]
mov edx, ebx
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
test eax, eax
je 0x55fb1a
mov esi, dword [ebp - 4]
mov dword [ebp - 0x34], esi
cmp esi, ebx
jae 0x55fafc
cmp word [esi], 0x3a
jne 0x55fafc
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x4c], edx
lea ecx, [ecx]
mov eax, dword [ebx*8 + 0x5d7b90]
mov dword [ebp - 0x44], eax
cmp ecx, eax
jne 0x55e7be
mov eax, dword [ebp - 0x20]
mov edi, edx
mov ebx, dword [ebp - 0x4c]
mov edx, esi
push ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
call fcn.0057bcf0
test eax, eax
je 0x55e7d8
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
inc edi
inc eax
mov ebx, edi
mov dword [ebp - 0x2c], edi
add esi, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x4c], ebx
mov edx, edi
mov eax, edi
cmp ebx, 0x11
jl 0x55e790
jmp 0x55e7db
mov eax, dword [ebp - 0x20]
mov esi, dword ds:[ebp - 0x34]
cmp eax, 0x11
jge 0x55fafc
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebx*8 + 0x5d7b94]
test edx, edx
jle 0x55e80b
lea eax, ds:[ecx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x55fabc
cmp ecx, 0x80250000
ja 0x55e894
je 0x55e8d4
lea ecx, [ecx]
cmp ecx, 0x80230000
ja 0x55e878
je 0x55f202
cmp ecx, 0x80020000
je 0x55f1d1
mov edi, edi
cmp ecx, 0x80220000
jne 0x55faf2
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], ecx
add edi, 4
mov ecx, dword [ebp - 0xc]
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], edi
mov dword [ebp - 0xc], edx
jmp 0x55d2e0
jmp 0x55e880
cmp ecx, 0x80240000
jne 0x55faf2
mov ebx, dword [ebp - 0x10]
jmp 0x55f239
jmp 0x55e8a0
cmp ecx, 0x80280000
ja 0x55e8ea
je 0x55e8d4
cmp ecx, 0x80260000
je 0x55e8d4
jmp 0x55e8c0
cmp ecx, 0x80270000
jne 0x55faf2
mov ebx, dword [ebp - 0x10]
jmp 0x55f21f
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], ecx
mov eax, dword [ebp - 4]
sub eax, 2
mov dword [ebp - 4], eax
jmp 0x55f2ab
cmp ecx, 0x8fff0000
jne 0x55faf2
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0xc], eax
mov dword [edi], 0x80220000
add dword [ebp - 4], 2
mov dword [edi + 4], 0x80020000
add edi, 8
mov dword [ebp - 8], edi
test edx, edx
jne 0x55e929
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x30], edx
jmp 0x55e93b
add edx, 0xc
mov dword [ebp - 0x30], edx
cmp edx, dword [ebp - 0x80]
jae 0x55fae5
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x10]
mov word [edx], ax
mov eax, 4
mov word [edx + 6], ax
mov eax, dword [ebp - 0x24]
and eax, 0x10424e8
mov dword [edx + 8], eax
mov esi, dword [ebp - 4]
jmp 0x55d2dd
push ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x44], 0x5d7c28
push eax
lea eax, [ebp - 0x38]
mov edx, ebx
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
test eax, eax
je 0x55fb1a
mov esi, dword [ebp - 4]
mov dword [ebp - 0x34], esi
cmp esi, ebx
jae 0x55fc09
movzx eax, word [esi]
cmp eax, 0x3a
je 0x55e9ae
cmp eax, 0x29
jne 0x55fc09
mov esi, dword [ebp - 0x44]
xor edx, edx
xor edi, edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x2c], edi
xor eax, eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ebx, dword [eax*4 + 0x5d7ac0]
cmp ecx, ebx
jne 0x55e9ef
mov eax, dword [ebp - 0x20]
mov edx, esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
call fcn.0057bcf0
test eax, eax
je 0x55ea0b
mov edx, dword [ebp - 0x44]
lea edi, [edx + 1]
inc esi
mov eax, edi
mov dword [ebp - 0x2c], edi
add esi, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x60], edi
mov edx, edi
mov ecx, edi
cmp eax, 9
jl 0x55e9c0
jmp 0x55ea0e
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x34]
cmp ecx, 9
jge 0x55fc09
cmp word ds:[esi], 0x3a
jne 0x55ea35
lea eax, [esi + 2]
cmp eax, dword [ebp - 0x10]
jae 0x55ea35
cmp word [eax], 0x29
jne 0x55ea35
mov esi, eax
mov dword [ebp - 4], esi
lea ecx, ds:[edi + edi*2]
mov edi, dword [ecx*4 + 0x5d7ac8]
test edi, edi
jle 0x55eaae
cmp word [esi], 0x3a
jne 0x55fb06
mov ecx, dword [ecx*4 + 0x5d7ac4]
xor eax, eax
mov ebx, dword [ebp - 8]
add esi, 2
cmp ecx, 0x802a0000
mov dword [ebp - 4], esi
mov dword [ebp - 0x60], ebx
sete al
mov dword [ebp - 0x28], eax
lea edx, [ebx + 4]
xor eax, eax
mov esi, 0x10000
cmp ecx, 0x80290000
cmovne eax, esi
add eax, ecx
mov dword [ebx], eax
lea edi, [edx + 4]
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x88], edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x68], 1
jmp 0x55d2da
mov ecx, dword [ecx*4 + 0x5d7ac4]
xor eax, eax
mov ebx, dword [ebp - 8]
cmp ecx, 0x802a0000
mov dword [ebp - 0x60], ebx
sete al
mov dword [ebp - 0x28], eax
movzx eax, word [esi]
lea edx, [ebx + 4]
add esi, 2
mov dword [ebp - 4], esi
cmp eax, 0x3a
jne 0x55eae8
test edi, edi
jns 0x55ea76
mov dword [ebp - 0x7c], ecx
mov eax, 0x80290000
jmp 0x55ea88
mov dword [ebx], ecx
mov edi, edx
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 8], edi
jmp 0x55d2da
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55fc66
movzx ecx, word [esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x55eb20.46
movzx eax, byte [eax + 0x55fe38]
mov edi, edi
jmp dword [eax*4 + 0x55fe00]
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55fc66
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x55eb47
mov eax, 0x3e
jmp 0x55f32d
cmp eax, 0x3e
je case.0x55eb20.34
cmp eax, 0x3d
jne 0x55fb10
push dword [ebp + 0xc]
lea eax, [ebp - 0x1c]
mov edx, ebx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x29
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
mov edi, edi
test eax, eax
je 0x55fb1a
mov edi, dword [ebp - 8]
mov dword [edi], 0x80040000
mov eax, dword [ebp - 0x38]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [edi + 8], eax
add edi, 0xc
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], 1
mov esi, dword [ebp - 4]
jmp 0x55d2da
add esi, 2
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55ebce
cmp word [esi], 0x29
je 0x55f612
mov ecx, 0x9e
jmp 0x55fc6b
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x55ebf7
mov ax, word [esi + 2]
sub ax, 0x30
cmp ax, 9
jbe case.0x55eb20.39
mov ecx, 0x81
jmp 0x55fc6b
push dword [ebp + 0xc]
lea eax, [ebp - 0x1c]
mov edx, ebx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x29
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
test eax, eax
je 0x55fb1a
mov edi, dword ds:[ebp - 8]
mov dword [edi], 0x80210000
jmp 0x55eb91
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55fc66
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x48]
dec eax
mov edi, dword [ebp - 8]
mov dword [ebp - 0x64], eax
test ecx, ecx
je 0x55ec7e
test byte [ebp - 0x24], 4
je 0x55ec7e
lea eax, [edi - 0x10]
cmp ecx, eax
jne 0x55ec7e
cmp dword [edi - 4], 0xff
cmove edi, ecx
mov dword [ebp - 8], edi
movzx ecx, word [esi]
mov eax, edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], 1
cmp ecx, 0x29
je 0x55ed45
cmp ecx, 0x30
jb 0x55eca9
mov edi, edi
cmp ecx, 0x39
jbe 0x55ed45
xor eax, eax
mov dword [ebp - 0x2c], 0
mov edi, ecx
xor edx, edx
mov ecx, 0x60
jmp 0x55ecc0
cmp edi, ecx
je 0x55ecdf
inc eax
mov edx, eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [edx*4 + 0x5f3cf0]
test ecx, ecx
jne 0x55ecc0
mov ecx, 0xb6
jmp 0x55fc6b
mov edx, dword [edx*4 + 0x5f5684]
test edx, edx
je 0x55ecd5
mov edi, dword [ebp - 8]
mov dword [edi], 0x80070000
mov ecx, dword [ebp - 4]
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, ebx
jae 0x55fb25
movzx eax, word [ecx]
cmp eax, edx
jne 0x55ecf6
add ecx, 2
mov dword [ebp - 4], ecx
cmp ecx, ebx
jae 0x55ed24
movzx eax, word ds:[ecx]
cmp eax, edx
je 0x55ecf6
sub ecx, esi
sar ecx, 1
mov dword [edi + 0xc], ecx
add edi, 0x10
mov ecx, dword [ebp + 0xc]
sub esi, dword [ecx + 0x1c]
sar esi, 1
mov dword [ebp - 0x40], esi
mov dword [edi], esi
jmp 0x55ed96
mov dword [edi], 0x80060000
xor ecx, ecx
mov esi, dword [ebp - 4]
add edi, 0xc
cmp esi, ebx
jae 0x55ed91
jmp 0x55ed60
movzx edx, word [esi]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x55ed91
lea ecx, [ecx + ecx*4]
mov eax, edx
lea ecx, [ecx - 0x18]
add esi, 2
mov dword [ebp - 4], esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x55fb2f
cmp esi, ebx
jb 0x55ed60
mov dword [edi], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword ds:[ebp - 4]
cmp esi, ebx
jae 0x55fb39
cmp word [esi], 0x29
jne 0x55fb39
mov eax, dword [ebp - 0x48]
add esi, 2
mov dword [ebp - 4], esi
sub esi, dword [ecx + 0x1c]
sar esi, 1
add edi, 4
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2dd
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ebx
jae 0x55fc66
mov edx, dword [ebp - 0xc]
movzx eax, word [esi]
inc edx
mov dword [ebp - 0xc], edx
cmp eax, 0x3f
je 0x55f1aa
jmp 0x55ee00
cmp eax, 0x2a
je 0x55f1aa
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov edx, ebx
push eax
push 0xa1
push 0xffff
lfence
push dword [esi + 0x74]
lea ecx, [ebp - 4]
call fcn.0055bcc0
test eax, eax
je 0x55ee6d
mov ecx, dword ds:[ebp - 0x2c]
test ecx, ecx
jle 0x55fb45
mov edi, dword [ebp - 8]
mov dword [edi], 0x80120000
mov eax, dword [ebp - 4]
sub eax, dword [esi + 0x1c]
sar eax, 1
sub eax, 2
mov dword [edi + 8], ecx
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 0x40], eax
jmp 0x55f184
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x55fbea
mov eax, ebx
mov ebx, dword [ebp - 4]
sub eax, ebx
and eax, 0xfffffffe
cmp eax, 0x14
jl 0x55efe7
lea edi, [ecx + 7]
mov edx, str.VERSION
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 0x55efe7
sub edi, 1
jne 0x55ee95
cmp word ds:[ebx + 0xe], 0x29
lea esi, [ebx + 0xe]
je 0x55efe7
xor ebx, ebx
mov dword [ebp - 4], esi
cmp word [esi], 0x3e
mov eax, esi
mov dword [ebp - 0x20], ebx
jne 0x55eee1
add esi, 2
lea ebx, [edi + 1]
mov dword [ebp - 4], esi
mov eax, esi
cmp word [esi], 0x3d
jne 0x55fb52
lea esi, [eax + 2]
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp eax, 0x30
jb 0x55fb52
lea ecx, [ecx]
cmp eax, 0x39
ja 0x55fb52
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea ecx, [ebp - 4]
lfence
call fcn.0055bcc0
test eax, eax
je 0x55fb1a
mov esi, dword ds:[ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae 0x55fb52
cmp word [esi], 0x2e
jne 0x55efc6
add esi, 2
mov dword [ebp - 4], esi
cmp esi, ecx
jae 0x55fb52
movzx eax, word [esi]
cmp eax, 0x30
jb 0x55fb52
cmp eax, 0x39
ja 0x55fb52
sub eax, 0x30
add esi, 2
mov dword [ebp - 4], esi
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x55fb52
movzx eax, word [esi]
cmp eax, 0x30
jb 0x55efba
nop
cmp eax, 0x39
ja 0x55efba
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 2]
mov esi, eax
mov dword [ebp - 4], esi
cmp eax, ecx
jae 0x55fb52
cmp word ds:[esi], 0x29
jne 0x55fb52
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov dword [ecx], 0x80150000
mov dword [ecx + 4], ebx
mov dword [ecx + 8], eax
add ecx, 0xc
mov dword [ebp - 8], ecx
mov dword [ecx], edi
mov edi, ecx
jmp 0x55f181
lfence
mov ecx, dword [ebp - 4]
xor edi, edi
movzx eax, word [ecx]
cmp eax, 0x52
jne 0x55f027
mov eax, dword [ebp - 0x10]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jle 0x55f03a
cmp word [ecx + 2], 0x26
lea eax, [ecx + 2]
jne 0x55f03a
mov edi, 1
mov dword [ebp - 4], eax
jmp 0x55f040
cmp eax, 0x3c
jne 0x55f031
lea esi, [eax + 2]
jmp 0x55f045
cmp eax, 0x27
jne 0x55f03a
mov esi, eax
jmp 0x55f045
sub ecx, 2
mov dword [ebp - 4], ecx
mov esi, 0x29
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
push esi
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
call fcn.0055cd60
test eax, eax
je 0x55fb1a
test edi, edi
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], edi
je 0x55f08b
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80130000
sub dword [ebp - 4], 2
jmp 0x55f161
cmp esi, 0x29
jne 0x55f158
mov ebx, dword ds:[ebp - 0x50]
cmp edi, 6
jne 0x55f0eb
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 0x55f0e8
sub edi, 1
jne 0x55f0b3
mov ebx, dword [ebp - 8]
mov eax, 0x80100000
mov edi, dword [ebp - 0x20]
mov dword [ebx], eax
sub dword [ebp - 4], 2
jmp 0x55f161
mov edi, dword [ebp - 0x20]
mov eax, 1
mov dword [ebp - 0x2c], 1
cmp edi, eax
jle 0x55f139
mov esi, eax
mov edx, eax
mov ecx, eax
jmp 0x55f110
movzx ecx, word [ebx + ecx*2]
cmp ecx, 0x30
jb 0x55f139
mov eax, edx
cmp ecx, 0x39
ja 0x55f139
lea eax, [esi + 1]
mov ecx, eax
mov dword [ebp - 0x2c], eax
mov esi, eax
mov edx, eax
cmp ecx, edi
jl 0x55f110
cmp word [ebx], 0x52
jne 0x55f148
cmp eax, edi
mov eax, 0x80140000
jge 0x55f14d
mov eax, 0x80110000
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
sub dword [ebp - 4], 2
jmp 0x55f161
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 8], ebx
cmp eax, 0x80100000
je 0x55f179
mov dword [ebx], edi
mov edi, ebx
add edi, 4
jmp 0x55f17c
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x40]
mov dword [edi], eax
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
cmp esi, ebx
jae 0x55fb5c
cmp word [esi], 0x29
jne 0x55fb5c
add esi, 2
add edi, 4
mov dword [ebp - 4], esi
mov dword [ebp - 8], edi
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x64], 2
mov dword [edi], 0x800f0000
add edi, 4
mov esi, dword [ebp - 4]
sub esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55d2e0
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0xc], edx
mov dword [edi], 0x80020000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55d2e0
mov edx, dword ds:[ebp - 0x14]
jmp 0x55f205
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [edi], 0x80230000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55f2cd
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [edi], 0x80270000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55f2cd
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [edi], 0x80240000
mov esi, dword [ebp - 4]
add esi, 2
jmp 0x55f2cd
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55eb3d
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x55f29b
cmp eax, 0x21
je 0x55f289
jmp 0x55f280
cmp eax, 0x2a
jne 0x55eb3d
cmp eax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x55f2a0
mov ecx, 0x80250000
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov dword [edi], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
add edi, 4
mov dword [ecx], 1
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [edi], eax
mov esi, dword [ebp - 4]
mov dword [ebp - 0x40], eax
add esi, 4
mov eax, dword ds:[ebp - 0xc]
add edi, 4
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], eax
test edx, edx
jle 0x55d2dd
mov edx, dword [ebp - 0x30]
test edx, edx
jne 0x55f2fa
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x30], edx
jmp 0x55f309
add edx, 0xc
mov dword [ebp - 0x30], edx
cmp edx, dword [ebp - 0x80]
jae 0x55fae8
mov word [edx], ax
mov eax, 2
mov word [edx + 6], ax
mov eax, dword [ebp - 0x24]
and eax, 0x10424e8
mov dword [edx + 8], eax
mov esi, dword [ebp - 4]
jmp 0x55d2dd
mov eax, 0x27
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
push esi
push ecx
lea ecx, [ebp - 0x38]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x40]
push ecx
push eax
push dword [ebp - 0x3c]
lea ecx, [ebp - 4]
lfence
call fcn.0055cd60
test eax, eax
je 0x55fb1a
mov eax, dword ds:[esi + 0x74]
cmp eax, 0xffff
jae 0x55fb9f
mov ebx, dword [ebp - 8]
inc eax
inc dword [ebp - 0xc]
mov dword [esi + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
movzx edx, word [esi + 0x58]
mov eax, 0x2710
mov dword [ebp - 8], ebx
cmp dx, ax
jae 0x55fb92
mov esi, dword [ebp - 0x38]
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 2]
movzx eax, word [ebx + 0x5a]
cmp ecx, eax
jbe 0x55f3ac
lea eax, [esi + 2]
mov word [ebx + 0x5a], ax
mov ebx, dword ds:[ebx + 0x64]
xor edi, edi
xor eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], edi
cmp ax, dx
jae 0x55f472
lea esp, [esp]
movzx eax, word [ebx + 8]
cmp esi, eax
jne 0x55f44d
mov edx, dword ds:[ebx]
test esi, esi
je 0x55f411
mov edi, dword [ebp - 0x50]
sub edi, edx
lea ecx, [ecx]
movzx ecx, word ds:[edi + edx]
lea edx, [edx + 2]
movzx eax, word [edx - 2]
cmp cx, ax
jne 0x55f44a
sub esi, 1
jne 0x55f3f0
mov edi, dword [ebp - 0x2c]
mov esi, dword ds:[ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x55f475
test byte [ebp - 0x24], 0x40
je 0x55fb66
mov eax, 1
mov word [ebx + 0xa], ax
mov dword [ebp - 0x20], eax
mov dword [esi + 0xbc], eax
jmp 0x55f45c
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x55fb73
movzx eax, word [esi + 0x58]
inc edi
mov esi, dword [ebp - 0x38]
add ebx, 0xc
mov dword [ebp - 0x2c], edi
cmp edi, eax
jl 0x55f3d0
mov esi, dword [ebp + 0xc]
movzx ecx, word ds:[esi + 0x58]
cmp edi, ecx
jge 0x55f4ab
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
jmp 0x55d2da
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 4]
jmp 0x55d2da
mov eax, dword [esi + 0x68]
cmp ecx, eax
jb 0x55f51f
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 [0x5a38e4]
call esi
mov edi, eax
test edi, edi
je 0x55fb85
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [esi + 0x64]
push edi
call fcn.005831c0
add esp, 0xc
cmp dword [esi + 0x68], 0x14
jbe 0x55f519
mov esi, dword [esi]
mov eax, dword [ebp + 0xc]
push dword [esi + 8]
mov esi, dword [esi + 4]
mov ecx, esi
push dword [eax + 0x64]
call dword [0x5a38e4]
call esi
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], ebx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
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 - 0x20]
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]
jmp 0x55d2da
cmp ecx, 0x2d
jne 0x55f64c
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x55f64c
mov ax, word ds:[esi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x55f64c
lfence
mov eax, dword [ebp - 4]
mov ax, word [eax]
sub ax, 0x30
cmp ax, 9
ja 0x55f5c4
mov eax, 0xffffffff
jmp 0x55f5ca
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x1c]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push 0xa1
push 0xffff
push eax
lea ecx, [ebp - 4]
call fcn.0055bcc0
test eax, eax
je 0x55fb1a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 4]
test eax, eax
js 0x55fbac
lea ecx, [ecx]
cmp esi, ebx
jae 0x55fc66
cmp word [esi], 0x29
jne 0x55fc66
mov edi, dword [ebp - 8]
or eax, 0x80200000
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], 1
mov dword [edi], 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 [edi + 4], ecx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 0x40], ecx
mov ecx, edx
mov dword [ebp - 8], edi
jmp 0x55d2dd
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0xc], eax
test edi, edi
jne 0x55f668
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 0x14]
mov dword [ebp - 0x30], edi
jmp 0x55f67a
add edi, 0xc
mov dword [ebp - 0x30], edi
cmp edi, dword [ebp - 0x80]
jae 0x55fae8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x24]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
mov eax, edx
and eax, 0x10424e8
mov dword [edi + 8], eax
mov eax, dword [ebp - 4]
cmp word [eax], 0x7c
jne 0x55f6dd
mov edx, dword [ebp - 0x30]
movzx eax, word [ecx + 0x74]
mov edi, 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 [edi], 0x801a0000
add edi, 4
mov esi, dword [ebp - 4]
add esi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x55d2dd
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [edi + 2], eax
lea edx, [ebp - 0x90]
mov esi, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x94], ecx
mov ebx, 1
mov dword [ebp - 0x90], edi
cmp esi, eax
jae 0x55f80a
cmp word [esi], 0x5e
jne 0x55f727
and dword [ebp - 0x24], 0xfeffdb57
xor ebx, ebx
add esi, 2
mov dword [ebp - 4], esi
cmp esi, eax
jae 0x55f80a
mov edi, eax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x29
je 0x55f7fe
nop
cmp eax, 0x3a
je 0x55f7fe
add esi, 2
lea eax, [ecx - 0x2d]
mov dword [ebp - 4], esi
cmp eax, 0x4b
ja case.0x55f762.46
movzx eax, byte [eax + 0x55fe90]
jmp dword [eax*4 + 0x55fe6c]
test ebx, ebx
je 0x55fbb9
lea edx, [ebp - 0x94]
xor ebx, ebx
jmp 0x55f7f4
mov eax, dword [ebp + 0xc]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x55f7f4
or dword [edx], 8
jmp 0x55f7f4
or dword ds:[edx], 0x400
jmp 0x55f7f4
or dword [edx], 0x2000
jmp 0x55f7f4
or dword [edx], 0x20
jmp 0x55f7f4
or dword ds:[edx], 0x40000
jmp 0x55f7f4
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x55f7f6
cmp word ds:[esi], 0x78
jne 0x55f731
or ecx, 0x1000000
add esi, 2
mov dword [edx], ecx
mov dword [ebp - 4], esi
mov eax, esi
cmp eax, edi
jb 0x55f731
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x55f828
lea esp, [esp]
test cl, cl
jns 0x55f82e
or ecx, 0x1000000
or edi, dword ds:[ebp - 0x24]
not ecx
mov ebx, dword [ebp - 0x10]
and edi, ecx
mov edx, edi
mov dword [ebp - 0x24], edx
cmp esi, ebx
jae 0x55fc66
movzx eax, word [esi]
add esi, 2
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
cmp eax, 0x29
jne 0x55f89f
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0x30]
add eax, 0xffff
mov dword [ebp - 0xc], eax
cmp edi, dword [ecx + 0x14]
jbe 0x55f894
mov ebx, dword [ebp - 0xc]
lea eax, [edi - 0xc]
cmp word [eax], bx
mov ebx, dword [ebp - 0x10]
jne 0x55f891
mov edi, dword [ebp - 8]
mov dword [ebp - 0x30], eax
jmp 0x55f8b1
mov eax, dword [ebp - 0xc]
mov word [edi], ax
mov edi, dword [ebp - 8]
jmp 0x55f8ae
mov edi, dword [ebp - 8]
mov dword [edi], 0x801a0000
add edi, 4
mov dword [ebp - 8], edi
mov esi, dword [ebp - 4]
cmp edx, dword [ebp - 0x44]
je 0x55d2dd
mov dword [edi], 0x801b0000
mov dword [edi + 4], edx
add edi, 8
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2dd
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x55f91b
mov eax, dword ds:[ebp - 0xc]
cmp word [edx], ax
jne 0x55f91b
test byte [edx + 6], 1
je 0x55f91b
mov eax, dword ds:[ebp + 0xc]
mov ecx, dword [eax + 0x74]
movzx eax, word [edx + 4]
cmp ecx, eax
jbe 0x55f90c
mov word [edx + 4], cx
mov ecx, dword [ebp + 0xc]
movzx eax, word [edx + 2]
mov dword [ecx + 0x74], eax
jmp 0x55f91e
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [edi], 0x80010000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2dd
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x28], 1
test edx, edx
je 0x55f9e5
mov eax, dword [ebp - 0xc]
cmp word [edx], ax
jne 0x55f9e5
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp + 0xc]
and edx, 0xfefbdb17
or edx, dword [eax + 8]
mov dword [ebp - 0x24], edx
mov edx, eax
test byte [edx + 6], 1
je 0x55f98c
movzx eax, word ds:[edx + 4]
cmp eax, dword [ecx + 0x74]
jbe 0x55f98c
mov dword [ecx + 0x74], eax
movzx eax, word ds:[edx + 6]
mov ebx, eax
not ebx
shr ebx, 1
and ebx, 1
mov dword [ebp - 0x28], ebx
test al, 4
je 0x55f9ba
mov eax, dword [ebp - 8]
mov dword [eax], 0x80190000
add eax, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
lea ebx, [ebx]
cmp edx, dword [ecx + 0x14]
jne 0x55f9d3
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x55f9e8
sub edx, 0xc
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], edx
jmp 0x55f9e8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
test dx, dx
je 0x55fbd3
mov edi, dword [ebp - 8]
add edx, 0xffff
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov dword [edi], 0x80190000
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2e0
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
mov dword [edi], edx
add edi, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edi
jmp 0x55d2da
mov ecx, 0x8c
jmp 0x55fc6b
sub esi, 2
mov ecx, 0xb0
jmp 0x55fc6b
mov ecx, 0x6d
sub esi, 2
jmp 0x55fc6b
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x55fc6b
mov ecx, 0x71
sub esi, 2
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x6b
sub esi, 2
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0xab
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x96
jmp 0x55fc6b
mov ecx, 0x6c
sub esi, 2
jmp 0x55fc6b
mov ecx, 0x6a
jmp 0x55fc6b
lea esp, [esp]
cmp ecx, 0x80270000
je 0x55fad8
cmp ecx, 0x80280000
jne 0x55d7bc
mov ecx, 0xc6
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0xb8
jmp 0x55fc6b
mov ecx, 0xbd
jmp 0x55fc6b
mov ecx, 0xc3
jmp 0x55fc6b
mov ecx, 0xa6
jmp 0x55fc6b
mov ecx, 0x8d
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
jmp 0x55fc6b
mov ecx, 0xb5
jmp 0x55fc6b
mov ecx, 0x8a
jmp 0x55fc6b
mov ecx, 0x8b
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x73
jmp 0x55fc6b
mov ecx, 0xb3
jmp 0x55fc6b
mov ecx, 0x7c
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x8f
jmp 0x55fc6b
mov esi, dword ds:[ebp - 4]
mov ecx, 0xa5
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x79
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0x95
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0xc5
jmp 0x55fc6b
mov ecx, 0x73
sub esi, 2
jmp 0x55fc6b
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x55fc6b
mov ecx, 0x6f
add esi, 0xfffffffe
jmp 0x55fc6b
mov ecx, 0x7a
sub esi, 2
jmp 0x55fc6b
mov ecx, 0x77
mov esi, dword [ebp - 4]
jmp 0x55fc6b
mov esi, dword [ebp - 4]
mov ecx, 0xa3
jmp 0x55fc6b
cmp dword [ebp - 0x68], 0
je 0x55d208
mov ecx, 0xa0
jmp 0x55fc6b
test al, 4
je 0x55fc2e
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
mov esi, dword [ebp - 4]
add ecx, 8
cmp ecx, dword [ebp - 0x84]
jb 0x55fc45
mov ecx, 0xa3
jmp 0x55fc6b
cmp word [ebp - 0xc], 0
mov dword [ecx], 0x80000000
jne 0x55fc63
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