Function at 0x560280
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc4
push ebx
xor eax, eax
mov dword [esp + 0x80], 0
push esi
push edi
mov edi, edx
mov dword [esp + 0x84], eax
xor edx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], eax
mov esi, ecx
mov dword [esp + 0xb0], edx
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x14], esi
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x50], 0
mov eax, dword [edx + 0x80]
mov ebx, dword [edx + 0x7c]
mov dword [esp + 0xac], eax
mov eax, dword [edx]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], 0
mov dword [esp + 0xb4], 0
mov ecx, dword [eax + 0x24]
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x1c], eax
mov eax, edi
shr eax, 0x13
and eax, 1
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x68], eax
mov eax, edi
shr eax, 2
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x3c], eax
test cl, 8
je 0x560354
mov dword [ebx], 0x80090000
jmp 0x56035f
test cl, 4
je 0x560371
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
test edi, 0x2000000
je 0x5604ae
mov edi, eax
cmp esi, edi
jae 0x563238
nop dword [eax + eax]
cmp ebx, dword [esp + 0xac]
jae 0x563271
cmp dword [esp + 0x68], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x14], edx
je 0x5603eb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5603eb
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 [esp + 0x14], eax
mov dword [esp + 0x44], ecx
cmp dword [esp + 0xa0], 0
je 0x560461
mov eax, dword [esp + 0x7c]
mov ecx, ebx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x56042f
mov edi, dword [esp + 0x7c]
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 [esp + 0x3c]
jne 0x56042f
mov eax, dword [esp + 0x7c]
cmp dword [eax + 0xc], 0xff
je 0x56044c
mov eax, ebx
mov dword [ebx], 0x80060000
mov dword [esp + 0x7c], eax
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 [esp + 0x44]
mov dword [esp + 0x90], eax
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [esp + 0x14]
cmp esi, edi
jb 0x560390
mov edi, dword [ebp + 0xc]
push edi
push ebx
push dword [esp + 0xa8]
lea edx, [esp + 0x9c]
mov ecx, esi
call fcn.00560200
mov ecx, dword [esp + 0xa8]
test cl, 8
je 0x56323f
mov dword [eax], 0x80190000
mov dword [eax + 4], 0x80160000
jmp 0x563256
mov ecx, dword ds:[edx + 0x28]
xor eax, eax
add ecx, ecx
mov dword [esp + 0x70], eax
mov eax, ecx
mov dword [esp + 0x4c], 0xc
xor edx, edx
div dword [esp + 0x4c]
sub ecx, edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x9c]
add eax, dword [ecx + 0x14]
mov ecx, edi
or ecx, 0x80
mov dword [esp + 0x9c], eax
test edi, 0x1000000
cmove ecx, edi
mov dword [esp + 0x58], ecx
cmp esi, dword [esp + 0x3c]
jae 0x560472
mov edx, dword [0x5f7760]
mov dword [esp + 0x20], edx
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x50]
lfence
cmp ebx, dword [esp + 0xac]
jae 0x56326d
mov edi, dword ds:[ebp + 0xc]
movzx eax, si
mov ebx, dword [edi]
cmp eax, dword [ebx + 0x20]
ja 0x56321c
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
movzx edx, word [eax]
lea esi, [eax + 2]
mov dword [esp + 0x44], edx
mov ecx, edx
mov dword [esp + 0x14], esi
mov edi, esi
je 0x5605a0
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5605a0
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [esp + 0x44], edx
mov ecx, edx
mov dword [esp + 0x14], esi
mov edi, esi
cmp dword [esp + 0x80], 0
je 0x560696
cmp ecx, 0x5c
jne 0x560605
cmp edi, dword [esp + 0x3c]
jae 0x560605
cmp word [esi], 0x45
jne 0x560605
mov dword [esp + 0x80], 0
add esi, 2
mov dword [esp + 0x14], esi
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
movzx eax, ax
cmp esi, dword [esp + 0x3c]
jb 0x560520
mov dword [esp + 0x50], eax
test edx, edx
je 0x560475
mov ecx, 0xa0
jmp 0x562fcd
cmp dword [esp + 0x94], 0
jg 0x562fc5
cmp dword [esp + 0x1c], 0
je 0x560622
mov ebx, dword ds:[esp + 0x18]
jmp 0x560676
mov ecx, dword [esp + 0x98]
mov eax, ecx
dec ecx
mov dword [esp + 0x98], ecx
test eax, eax
jg 0x56066a
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
push dword [esp + 0xa8]
mov ecx, dword [esp + 0x68]
call fcn.00560200
mov edx, dword [esp + 0x44]
mov ebx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
jmp 0x56066e
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x54], 1
mov edi, dword [ebp + 0xc]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x88], 0
mov dword [esp + 0x18], ebx
jmp 0x5605d8
cmp dword ds:[esp + 0x1c], 0
je 0x56082f
mov eax, dword [esp + 0x58]
and eax, 0x400080
cmp eax, 0x400080
jne 0x560714
cmp ecx, 0xff
jbe 0x5606d1
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x5606d1
cmp eax, 0x2029
jne 0x560714
mov edi, dword ds:[ebp + 0xc]
cmp edx, 0x100
jae 0x560832
cmp edx, 0x23
je 0x560832
mov eax, dword ds:[edi + 0x10]
test byte [edx + eax], 1
jne 0x560832
cmp edx, 0x85
je 0x560832
jmp 0x560717
mov edi, dword [ebp + 0xc]
nop word [eax + eax]
cmp edx, 0x29
je 0x5607d3
cmp edx, 0x5c
je 0x560745
mov ebx, dword ds:[esp + 0x18]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov eax, dword [esp + 0x58]
test eax, sym.SystemInformer.exe_Ordinal_1329
je 0x5607bd
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x14]
push edi
push 0
push dword [ebx + 0x24]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0055f1c0
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x563055
sub eax, ecx
je 0x5607b0
nop
sub eax, 0x19
je 0x562afd
mov esi, dword [esp + 0x14]
sub eax, 1
jne 0x562fe3
mov edi, dword [0x5f7760]
mov dword [esp + 0x80], 1
mov dword [esp + 0x20], edi
jmp 0x5605d1
mov eax, dword [0x5f7760]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x18]
mov dword [ebx], edx
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov eax, esi
xor edx, edx
sub eax, dword [esp + 0xb4]
sar eax, 1
dec eax
mov dword [esp + 0x1c], edx
cmp eax, 0xffff
jg 0x562ffb
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov ecx, dword [esp + 0xb0]
sub eax, ecx
sar eax, 2
dec eax
mov dword [ecx], eax
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x561165
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xa4], ecx
jmp 0x5605dc
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x3c]
cmp edx, 0x5c
jne 0x560867
cmp esi, ebx
jae 0x560867
movzx eax, word [esi]
cmp eax, 0x51
je 0x56084c
cmp eax, 0x45
jne 0x560867
xor ecx, ecx
cmp eax, 0x51
sete cl
add esi, 2
mov dword [esp + 0x80], ecx
mov dword [esp + 0x14], esi
jmp 0x5605d4
test byte [esp + 0x58], 0x80
je 0x560994
cmp edx, 0x100
jae 0x560887
mov eax, dword [edi + 0x10]
test byte [edx + eax], 1
jne 0x5605d4
cmp edx, 0x85
je 0x5605d4
mov eax, edx
or eax, 1
cmp eax, 0x200f
je 0x5605d4
cmp eax, 0x2029
je 0x5605d4
cmp edx, 0x23
jne 0x560994
nop
cmp esi, ebx
jae 0x5605d4
nop dword [eax + eax]
mov edx, dword ds:[edi + 0x90]
mov ecx, dword [edi + 0x20]
add edi, 0x94
test edx, edx
je 0x56094b
cmp esi, ecx
jae 0x560902
push dword [esp + 0x68]
push edi
push ecx
mov ecx, esi
call fcn.0057f0a0
test eax, eax
je 0x560902
mov eax, 1
jmp 0x560904
xor eax, eax
test eax, eax
jne 0x560983
mov edi, dword [ebp + 0xc]
add esi, 2
cmp dword [esp + 0x68], 0
mov dword [esp + 0x14], esi
mov eax, esi
je 0x560942
nop
cmp esi, ebx
jae 0x560942
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x5608d0
add esi, 2
mov dword [esp + 0x14], esi
mov eax, esi
cmp eax, ebx
jb 0x5608d0
jmp 0x5605d4
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x56090c
mov ecx, dword ds:[ebp + 0xc]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x56098d
cmp edx, 1
je 0x560983
mov ax, word [esi + 2]
mov edi, ecx
cmp ax, word [edi + 0xa2]
jne 0x56090f
add edi, 0x94
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x5605cd
mov edi, ecx
jmp 0x56090f
cmp edx, 0x28
jne 0x5609e9
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x560a42
cmp word [esi], 0x3f
jne 0x560a42
cmp word [esi + 2], 0x23
jne 0x560a42
nop
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ebx
jae 0x563016
cmp word [esi], 0x29
jne 0x5609c0
cmp esi, ebx
jae 0x563016
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x5605d4
cmp edx, 0x2a
je 0x560a8b
cmp edx, 0x2b
je 0x560a8b
nop dword [eax + eax]
cmp edx, 0x3f
je 0x560a8b
cmp edx, 0x7b
jne 0x560a42
lea eax, [esp + 0x48]
mov dword [esp + 0x8c], esi
push eax
push 0
push 0
mov edx, ebx
lea ecx, [esp + 0x98]
call fcn.0055f080
mov esi, dword ds:[esp + 0x14]
test eax, eax
mov eax, dword [0x5f7760]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
jne 0x560a8b
mov ecx, dword [esp + 0x98]
mov eax, ecx
dec ecx
mov dword [esp + 0x98], ecx
test eax, eax
jg 0x560a8b
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x90]
push edi
push ecx
push dword [esp + 0xa8]
mov ecx, dword [esp + 0x68]
call fcn.00560200
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x94]
test ecx, ecx
jle case.0x560b0c.33
cmp edx, 0x28
jne case.0x560b0c.34
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x560b0c.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x560ad3
cmp eax, 0x2a
je 0x560ad9
sub esi, 2
mov ecx, 0x80
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp word [esi], 0x2a
jne 0x560af6
movzx eax, word [esi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x560af2
mov ecx, eax
mov eax, dword [edi + 0x10]
test byte [ecx + eax], 4
jne case.0x560b0c.33
xor eax, eax
jmp 0x560b30
movzx eax, word ds:[esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x560b0c.34
movzx eax, byte [eax + 0x5632e0]
jmp dword [eax*4 + 0x5632d0]
xor eax, eax
cmp ecx, 2
sete al
jmp 0x560b30
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x560b2b
cmp eax, 0x21
jne case.0x560b0c.34
mov eax, 1
test eax, eax
je case.0x560b0c.34
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x88]
mov edi, eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x88], 0
test eax, eax
je 0x560baf
cmp edx, 0x3f
je 0x560b78
cmp edx, 0x2b
jne 0x560baf
mov ebx, dword [esp + 0x18]
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 esi, dword [esp + 0x14]
jmp 0x5605d8
lea eax, [edx - 0x24]
cmp eax, 0x58
ja case.0x560bc2.37
movzx eax, byte [eax + 0x563338]
jmp dword [eax*4 + 0x563304]
mov ebx, dword [esp + 0x58]
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x8c], esi
mov esi, dword [ebp + 0xc]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [esp + 0x54]
push ebx
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0055f1c0
mov ecx, dword [esp + 0x48]
mov edi, eax
test ecx, ecx
jne 0x560c3a
test edi, edi
je 0x560f79
js 0x560f1f
lea eax, [edi - 6]
cmp eax, 0x16
ja case.0x560c22.13
movzx eax, byte [eax + 0x5633ac]
jmp dword [eax*4 + 0x563394]
test ebx, 0x100000
je case.0x560c22.12
mov ecx, 0xb7
mov dword [esp + 0x48], ecx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
test byte [esp + 0xa8], 2
je 0x562fcd
mov eax, dword ds:[esp + 0x4c]
mov dword [esp + 0x14], eax
cmp eax, edi
jb 0x560f7f
mov ecx, 0x5c
jmp 0x560fc8
mov dword [esp + 0x54], 1
mov ebx, dword [esp + 0x18]
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x18], ebx
mov edx, dword [0x5f7760]
mov esi, dword ds:[esp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x20], edx
jmp 0x5605d8
xor eax, eax
lea edx, [esp + 0xc0]
lfence
mov word [esp + 0x74], ax
lea ecx, [esp + 0x14]
mov word [esp + 0x20], ax
lea eax, [esp + 0x48]
push esi
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0055fa80
test eax, eax
je 0x560e7b
cmp dword [esp + 0xc0], 0
je 0x560cf4
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov ebx, dword [esp + 0x18]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [esp + 0x74]
shl ecx, 0x10
mov dword [ebx], eax
movzx eax, word [esp + 0x20]
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [esp + 0x54], 1
mov edx, dword [0x5f7760]
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edx
jmp 0x5605d8
mov esi, dword ds:[esp + 0x14]
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
jae 0x560e85
movzx eax, word [esi]
cmp eax, 0x7b
je 0x560d69
cmp eax, 0x3c
je 0x560df2
nop dword [eax]
cmp eax, 0x27
jne 0x560e85
cmp eax, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
nop dword [eax]
cmp edi, 0x1b
jne 0x560e17
cmp ebx, 0x7d
je 0x560e17
lfence
mov esi, dword [esp + 0x14]
mov edx, ecx
lea ecx, [esp + 0x5c]
lea eax, [esi + 2]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x64]
push eax
mov eax, dword [ebp + 0xc]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.0055ef00
test eax, eax
je 0x560e07
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x3c]
cmp ecx, edi
jae 0x560df9
movzx eax, word [ecx]
cmp eax, ebx
jne 0x560df9
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
jmp 0x562bb2
mov ebx, 0x3e
jmp 0x560d79
mov ecx, 0x9d
mov dword [esp + 0x48], ecx
jmp 0x560c42
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x560c3e
mov ecx, dword [esp + 0x3c]
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
mov edx, ecx
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push ebx
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
lfence
call fcn.0055ff80
test eax, eax
je 0x560e7b
cmp edi, 0x1c
je 0x560e5a
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x560e5f
mov eax, 0x80040000
mov ebx, dword [esp + 0x18]
mov dword [ebx], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 8], eax
add ebx, 0xc
jmp 0x560d15
mov ecx, dword ds:[esp + 0x48]
jmp 0x560c3a
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x48], ecx
jmp 0x560c3e
mov dword [esp + 0x54], 1
test ebx, 0x20000
jne 0x560ec5
mov ebx, dword ds:[esp + 0x18]
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp 0x560d1d
cmp edi, 7
je 0x560ed9
cmp edi, 9
je 0x560ed9
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x560ede
mov eax, 0x80180010
mov ebx, dword [esp + 0x18]
add edi, 0xfffffffa
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x18], ebx
cmp edi, 5
ja case.default.0x560ef7
jmp dword [edi*4 + 0x5633c4]
mov dword [ebx], 0x3000d
jmp 0x560c86
mov dword [ebx], 0x70000
jmp 0x560c86
mov dword [ebx], 0x90000
jmp 0x560c86
mov ebx, dword [esp + 0x18]
neg edi
mov ecx, dword [esp + 0x14]
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 [esp + 0x6c], ecx
mov dword [esp + 0x18], ebx
cmp edi, 0xa
jge 0x560fd0
cmp dword [esi + edi*4 + 0x2c], 0xffffffff
jne 0x560fd9
mov edx, dword [0x5f7760]
mov dword [esi + edi*4 + 0x2c], ecx
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x54], 1
mov dword [esp + 0x20], edx
jmp 0x5605d8
mov ecx, dword [esp + 0x44]
jmp 0x560fcc
cmp dword [esp + 0x68], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
mov edx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x14], esi
je 0x560fcc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x560fcc
movzx ecx, word [esi]
lea eax, [esi + 2]
and edx, 0x3ff
mov dword [esp + 0x14], eax
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x18]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x18], ebx
mov edx, dword [0x5f7760]
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x54], 1
mov dword [esp + 0x20], edx
jmp 0x5605d8
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80090000
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80160000
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80170000
mov esi, dword [esp + 0x14]
add ebx, 4
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], 1
jmp 0x5605d8
mov edi, 0x80340000
jmp 0x5610ec
mov edi, 0x80370000
jmp 0x5610ec
mov edi, 0x803a0000
jmp 0x5610ec
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x20]
call fcn.0055f080
test eax, eax
jne 0x5610da
mov ecx, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
test ecx, ecx
jne 0x563055
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov edx, dword [0x5f7760]
mov dword [esp + 0x54], 1
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edx
jmp 0x5605d8
mov eax, dword [0x5f7760]
mov edi, 0x803d0000
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], edi
test ebx, ebx
je 0x56302e
mov ebx, dword [esp + 0x18]
cmp dword [ebx - 4], 0x802a0000
lea ecx, [ebx - 4]
jne 0x561134
mov edx, dword [esp + 0x84]
cmp ecx, edx
jb 0x561124
mov eax, dword ds:[ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x561116
mov dword [edx], 0x801a0000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov edx, dword [esp + 0x1c]
mov dword [ebx], edi
add ebx, 4
cmp dword [esp + 0x44], 0x7b
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
jne 0x561165
mov eax, dword [esp + 0xc4]
mov dword [ebx], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x14]
jmp 0x5605dc
mov eax, dword ds:[esp + 0x3c]
sub eax, esi
mov dword [esp + 0x54], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x561271
mov dword [esp + 0x5c], 6
mov edi, 0x622828
mov ebx, esi
nop dword [eax + eax]
movsx ax, byte [edi]
lea ebx, [ebx + 2]
movzx ecx, word [ebx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x5611bf
sub dword [esp + 0x5c], 1
jne 0x5611a0
jmp 0x5611f1
mov dword [esp + 0x5c], 6
mov edi, str._:_:__
mov ebx, esi
nop
movsx ax, byte [edi]
lea ebx, [ebx + 2]
movzx ecx, word [ebx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x561271
sub dword [esp + 0x5c], 1
jne 0x5611d0
mov edx, dword [esp + 0x18]
mov dword [edx], 0x80180005
lea ecx, [edx + 8]
mov eax, dword [esp + 0x14]
cmp word [eax + 4], 0x3c
jne 0x561212
mov dword [edx + 4], 0x80230000
jmp 0x56122b
mov eax, dword [ebp + 8]
mov dword [edx + 4], 0x80250000
mov dword [ecx], 0
add ecx, 4
mov dword [eax], 1
test dword [esp + 0x58], 0x20000
lea ebx, [ecx + 4]
jne 0x561242
mov dword ds:[ecx], 0x8018000b
jmp 0x561251
mov dword [ecx], 0x80180010
mov dword [ebx], 0x90000
add ebx, 4
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80190000
add ebx, 4
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x5605d8
mov eax, dword [esp + 0x3c]
cmp esi, eax
jae 0x5612b9
movzx eax, word ds:[esi]
cmp eax, 0x3a
je 0x56128f
cmp eax, 0x2e
je 0x56128f
cmp eax, 0x3d
jne 0x5612b5
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x8c]
lfence
mov esi, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.0055ff00
test eax, eax
jne 0x563035
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
xor ebx, ebx
mov dword [esp + 0x40], ebx
cmp esi, eax
jae 0x5613ca
nop dword [eax + eax]
movzx edx, word [esi]
add esi, 2
cmp dword [esp + 0x68], 0
mov edi, edx
mov dword [esp + 0x5c], edx
mov ecx, esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], esi
je 0x56132b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x561327
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [esp + 0x5c], edx
mov edi, edx
mov dword [esp + 0x44], edx
mov ecx, esi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x3c]
cmp edi, 0x5c
jne 0x56138e
mov edi, ecx
mov edx, ecx
cmp ecx, eax
jae 0x56134a
cmp word [esi], 0x45
jne 0x56134a
lea esi, [ecx + 2]
mov dword [esp + 0x14], esi
jmp 0x5613b7
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x5613c6
mov ebx, 3
mov edi, 0x622838
movsx ax, byte [edi]
lea edx, [edx + 2]
movzx ecx, word [edx - 2]
lea edi, [edi + 1]
movzx eax, ax
cmp cx, ax
jne 0x5613c2
sub ebx, 1
jne 0x561362
mov ebx, dword [esp + 0x40]
add esi, 6
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], esi
jmp 0x5613b7
test dword [esp + 0x58], 0x1000000
je 0x5613a5
cmp edi, 0x20
je 0x5613b7
nop dword [eax]
cmp edi, 9
je 0x5613b7
test ebx, ebx
jne 0x5613c6
cmp edx, 0x5e
jne 0x5613c6
mov ebx, 1
mov dword [esp + 0x40], ebx
cmp esi, eax
jb 0x5612d0
nop
jmp 0x5613c6
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
cmp edx, 0x5d
jne 0x5613fd
mov edi, dword [ebp + 0xc]
test byte [edi + 0x6c], 1
je 0x5613fd
test ebx, ebx
mov eax, 0x800b0000
mov ebx, dword [esp + 0x18]
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
test ebx, ebx
mov dword [esp + 0x54], 1
mov ebx, dword [esp + 0x18]
mov ecx, 0x800e0000
mov eax, 0x800a0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], edx
jmp 0x56143c
mov edx, dword [esp + 0x40]
mov edi, 1
test eax, eax
je 0x561525
cmp ecx, 0x5c
jne 0x561879
cmp esi, dword [esp + 0x3c]
jae 0x561879
cmp word [esi], 0x45
jne 0x561879
add esi, 2
mov dword [esp + 0x80], 0
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x40]
nop dword [eax]
cmp esi, dword [esp + 0x3c]
jae 0x5630a5
movzx ecx, word ds:[esi]
add esi, 2
cmp dword [esp + 0x68], 0
mov edx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x14], esi
je 0x5614d6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5614d6
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x44], ecx
mov edx, ecx
mov dword [esp + 0x14], esi
mov eax, dword ds:[esp + 0x80]
cmp edx, 0x5d
jne 0x561438
test eax, eax
jne 0x561438
cmp edi, 1
jne 0x5614fd
mov dword [ebx - 4], 0x2d
mov ecx, dword [0x5f7760]
mov edi, dword ds:[ebp + 0xc]
mov dword [ebx], 0x800d0000
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
jmp 0x5605d8
test dword [esp + 0x58], 0x1000000
je 0x561549
cmp ecx, 0x20
je 0x561478
nop dword [eax + eax]
cmp ecx, 9
je 0x561478
cmp ecx, 0x5b
jne 0x561759
mov edx, dword ds:[esp + 0x3c]
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x561879
movzx eax, word [esi]
cmp eax, 0x3a
je 0x56157f
cmp eax, 0x2e
je 0x56157f
cmp eax, 0x3d
jne 0x561879
lfence
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x8c]
push eax
mov ecx, esi
call fcn.0055ff00
test eax, eax
je 0x561750
mov dword [esp + 0x20], 0
cmp dword [esp + 0x40], edi
je 0x56308c
cmp word [esi], 0x3a
jne 0x563048
add esi, 2
mov dword [esp + 0x14], esi
mov eax, esi
cmp word [esi], 0x5e
jne 0x5615d5
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], esi
mov eax, esi
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x40], 0x5db5c0
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x40]
mov byte [esp + 0x74], al
nop dword [eax]
movzx eax, al
cmp ecx, eax
jne 0x561650
mov ebx, ecx
test ecx, ecx
je 0x56167d
mov eax, dword [esp + 0x40]
lea edi, [esi + 2]
movzx edx, word [esi]
movsx ax, byte [eax]
movzx ecx, ax
mov eax, dword [esp + 0x40]
inc eax
cmp dx, cx
jne 0x561648
nop dword [eax]
sub ebx, 1
je 0x56167d
movsx cx, byte [eax]
inc eax
movzx edx, word [edi]
add edi, 2
movzx ecx, cx
cmp dx, cx
je 0x561630
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x74]
inc eax
add edx, eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x5c], eax
mov al, byte [eax + 0x5db6a8]
mov byte [esp + 0x74], al
test al, al
jne 0x561600
mov ecx, 0x82
jmp 0x562fcd
mov edx, dword [esp + 0x5c]
test edx, edx
js 0x561673
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x3c]
add esi, 4
add eax, 0xfffffffe
mov dword [esp + 0x14], esi
cmp esi, eax
jae 0x5616af
cmp word [esi], 0x2d
jne 0x5616af
cmp word [esi + 2], 0x5d
jne 0x56308c
xor edi, edi
test dword [esp + 0x58], 0x20000
mov dword [esp + 0x40], edi
je 0x56172b
mov eax, dword [edx*8 + 0x5db0b0]
mov ecx, dword [edx*8 + 0x5db0b4]
test eax, eax
js 0x561705
mov ebx, dword ds:[esp + 0x18]
mov edx, dword [esp + 0x20]
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 [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x56147c
test ecx, ecx
je 0x56172b
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x56147c
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
add eax, 0x801c
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edx
add ebx, 8
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x56147c
mov ecx, dword [esp + 0x44]
jmp 0x561879
cmp ecx, 0x2d
jne 0x56178f
nop
cmp edx, 2
jb 0x561879
cmp edx, 3
mov dword [esp + 0x40], edi
mov eax, 0x801e0000
mov ecx, 0x801f0000
cmove eax, ecx
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x56147c
cmp ecx, 0x5c
jne 0x561879
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x3c]
mov edi, esi
push eax
push 1
mov eax, dword [eax]
mov ebx, esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x54], esi
push dword [eax + 0x24]
lea eax, [esp + 0x54]
push dword [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0055f1c0
mov ecx, dword [esp + 0x48]
mov esi, eax
test ecx, ecx
je 0x561852
test byte [esp + 0xa8], 2
je 0x563052
mov esi, edi
mov dword [esp + 0x14], esi
cmp ebx, dword [esp + 0x3c]
jb 0x561805
mov ecx, 0x5c
mov dword [esp + 0x44], ecx
jmp 0x561873
mov esi, dword [esp + 0x4c]
movzx ecx, word [edi]
add esi, 2
cmp dword [esp + 0x68], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x14], esi
je 0x561873
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x561873
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x14], esi
jmp 0x561873
mov eax, esi
cmp esi, 0x1a
ja case.0x561864.1
movzx eax, byte [eax + 0x5633f4]
jmp dword [eax*4 + 0x5633dc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
xor edi, edi
mov ebx, dword [esp + 0x18]
cmp dword ds:[esp + 0x40], 1
jne 0x561a70
cmp ecx, dword [ebx - 8]
jne 0x561a36
sub ebx, 4
xor edi, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], edi
jmp 0x56147c
mov esi, dword [esp + 0x14]
mov ecx, 8
mov dword [esp + 0x44], ecx
xor edi, edi
jmp 0x561875
mov dword [esp + 0x80], 1
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x561478
cmp dword [esp + 0x40], 1
je 0x563088
xor edi, edi
lea eax, [esi - 6]
mov dword [esp + 0x40], edi
cmp eax, 0xf
ja case.0x5618f2.13
movzx eax, byte [eax + 0x563424]
jmp dword [eax*4 + 0x563410]
mov ebx, dword [esp + 0x18]
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp 0x561a02
test dword [esp + 0x58], 0x20000
jne 0x56192b
mov ebx, dword [esp + 0x18]
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp 0x561a02
cmp esi, 7
je 0x56193f
cmp esi, 9
je 0x56193f
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x561944
mov eax, 0x80180010
mov ebx, dword [esp + 0x18]
add esi, 0xfffffffa
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x18], ebx
cmp esi, 5
ja case.default.0x561960
nop dword [eax]
jmp dword [esi*4 + 0x563434]
mov dword [ebx], 0x3000d
add ebx, 4
jmp 0x561a02
mov dword ds:[ebx], 0x70000
add ebx, 4
jmp 0x561a02
mov dword [ebx], 0x90000
add ebx, 4
jmp 0x561a02
push dword ds:[ebp + 0xc]
xor eax, eax
lea edx, [esp + 0xd0]
lfence
mov word [esp + 0x24], ax
lea ecx, [esp + 0x18]
mov word [esp + 0x78], ax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0055fa80
test eax, eax
je 0x56315b
cmp dword [esp + 0xcc], edi
je 0x5619e1
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
mov ebx, dword [esp + 0x18]
lea eax, [esi - 0x7fe80000]
movzx ecx, word [esp + 0x20]
shl ecx, 0x10
mov dword [ebx], eax
movzx eax, word [esp + 0x74]
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
add eax, 0xfffffffe
cmp esi, eax
jae 0x56147c
cmp word ds:[esi], 0x2d
jne 0x56147c
cmp word [esi + 2], 0x5d
jne 0x56308c
jmp 0x56147c
jb 0x563096
nop dword [eax]
test edi, edi
jne 0x561a58
cmp dword [ebx - 4], 0x801f0000
jne 0x561a58
mov dword [ebx - 4], 0x801e0000
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
add ebx, 4
mov esi, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], edi
jmp 0x56147c
add edi, 2
mov dword [ebx], ecx
mov esi, dword [esp + 0x14]
add ebx, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], ebx
jmp 0x56147c
mov edi, dword [esp + 0x3c]
cmp esi, edi
jae 0x5632b4
movzx eax, word ds:[esi]
cmp eax, 0x3f
je 0x562045
cmp eax, 0x2a
je 0x561b0b
inc dword [esp + 0x50]
test dword [esp + 0x58], 0x2000
mov edi, dword [ebp + 0xc]
jne 0x561af0
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x5631d1
mov ebx, dword [esp + 0x18]
inc eax
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov ebx, dword [esp + 0x18]
mov eax, 0x801a0000
mov dword [ebx], eax
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x5605d1
movzx eax, word [esi + 2]
mov ecx, eax
mov edx, eax
mov dword [esp + 0x44], edx
cmp ecx, 0x29
je 0x5605d1
mov eax, 0xff
cmp cx, ax
mov ecx, dword [ebp + 0xc]
ja 0x561e28
mov eax, dword [ecx + 0x10]
test byte [edx + eax], 4
je 0x561e28
push ecx
lea eax, [esp + 0x4c]
mov edx, edi
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push 0
push dword [esp + 0x80]
lfence
lea ecx, [esp + 0x30]
mov dword [esp + 0x90], 0x5db120
call fcn.0055ff80
test eax, eax
je 0x56315b
mov esi, dword ds:[esp + 0x14]
mov dword [esp + 0x5c], esi
cmp esi, edi
jae 0x5630ef
cmp word [esi], 0x3a
jne 0x5630ef
mov ecx, dword [esp + 0x64]
xor edx, edx
mov esi, dword [esp + 0x74]
xor edi, edi
mov dword [esp + 0x60], 0
xor ebx, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], edx
mov eax, dword [ebx*8 + 0x5db620]
mov dword [esp + 0x74], eax
cmp ecx, eax
jne 0x561c05
mov eax, dword [esp + 0x4c]
mov edi, edx
mov ebx, dword [esp + 0x20]
mov edx, esi
push ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x50], eax
call fcn.00580060
test eax, eax
je 0x561c27
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
inc edi
inc eax
mov ebx, edi
mov dword [esp + 0x60], edi
add esi, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ebx
mov edx, edi
mov eax, edi
cmp ebx, 0x11
jl 0x561bd0
jmp 0x561c2b
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
cmp eax, 0x11
jge 0x5630ef
mov edx, dword [esp + 0x40]
mov ecx, dword [ebx*8 + 0x5db624]
test edx, edx
jle 0x561c58
lea eax, [ecx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x5630af
nop dword [eax + eax]
cmp ecx, 0x80250000
ja 0x561d3a
je 0x561d7a
cmp ecx, 0x80230000
ja 0x561d16
nop
je 0x561d08
cmp ecx, 0x80020000
je 0x561cd7
cmp ecx, 0x80220000
jne 0x5630e5
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], ecx
add ebx, 4
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
movzx eax, cx
add esi, 2
inc eax
mov dword [esp + 0x14], esi
movzx ecx, ax
mov dword [esp + 0x50], ecx
mov ecx, dword [0x5f7760]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
jmp 0x5605d8
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x18]
inc dword [esp + 0x50]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80020000
add ebx, 4
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x5605d8
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
jmp 0x56279b
nop word [eax + eax]
cmp ecx, 0x80240000
jne 0x5630e5
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
jmp 0x5627d5
nop word [eax + eax]
cmp ecx, 0x80280000
ja 0x561d9a
je 0x561d7a
cmp ecx, 0x80260000
je 0x561d7a
nop word [eax + eax]
cmp ecx, 0x80270000
jne 0x5630e5
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
jmp 0x5627b8
mov ebx, dword [esp + 0x18]
mov dword [ebx], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [0x5f7760]
sub eax, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
jmp 0x56283e
nop word [eax + eax]
cmp ecx, 0x8fff0000
jne 0x5630e5
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
inc eax
mov dword [esp + 0x50], eax
mov dword [ebx], 0x80220000
add dword [esp + 0x14], 2
mov dword [ebx + 4], 0x80020000
add ebx, 8
mov dword [esp + 0x18], ebx
test edx, edx
jne 0x561de6
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x70], edx
jmp 0x561dfd
add edx, 0xc
mov dword [esp + 0x70], edx
cmp edx, dword [esp + 0x9c]
jae 0x5630d6
mov edi, dword [ebp + 0xc]
mov ecx, dword [0x5f7760]
mov word [edx], ax
mov eax, 4
mov word [edx + 6], ax
mov eax, dword [esp + 0x58]
and eax, 0x10424e8
mov dword [esp + 0x20], ecx
mov dword [edx + 8], eax
mov esi, dword [esp + 0x14]
jmp 0x5605d8
push ecx
lea eax, [esp + 0x4c]
mov dword [esp + 0x44], 0x5db6b8
push eax
lea eax, [esp + 0x6c]
mov edx, edi
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push 0
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
lfence
call fcn.0055ff80
nop
test eax, eax
je 0x56315b
mov esi, dword [esp + 0x14]
mov dword [esp + 0x5c], esi
cmp esi, edi
jae 0x5605f9
movzx eax, word ds:[esi]
cmp eax, 0x3a
je 0x561e8e
cmp eax, 0x29
jne 0x5605f9
mov esi, dword [esp + 0x40]
xor edx, edx
xor edi, edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], edi
xor eax, eax
mov dword [esp + 0x84], edx
nop word [eax + eax]
mov ecx, dword ds:[esp + 0x64]
lea eax, [eax + eax*2]
mov ebx, dword [eax*4 + 0x5db550]
cmp ecx, ebx
jne 0x561eee
mov eax, dword [esp + 0x4c]
mov edx, esi
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x88], eax
call fcn.00580060
test eax, eax
je 0x561f10
mov edx, dword [esp + 0x4c]
lea edi, [edx + 1]
inc esi
mov eax, edi
mov dword [esp + 0x60], edi
add esi, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x84], edi
mov edx, edi
mov ecx, edi
cmp eax, 9
jl 0x561eb0
jmp 0x561f17
mov ecx, dword [esp + 0x84]
mov esi, dword ds:[esp + 0x5c]
cmp ecx, 9
jge 0x5605f9
cmp word [esi], 0x3a
jne 0x561f44
lea eax, [esi + 2]
cmp eax, dword [esp + 0x3c]
jae 0x561f44
cmp word [eax], 0x29
jne 0x561f44
mov esi, eax
mov dword [esp + 0x14], esi
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x5db558]
test edi, edi
jle 0x561fd9
cmp word ds:[esi], 0x3a
jne 0x5630f9
mov ecx, dword [ecx*4 + 0x5db554]
xor eax, eax
mov ebx, dword [esp + 0x18]
add esi, 2
cmp ecx, 0x802a0000
mov dword [esp + 0x14], esi
mov dword [esp + 0x84], ebx
sete al
mov dword [esp + 0x54], eax
lea edx, [ebx + 4]
xor eax, eax
mov esi, 0x10000
cmp ecx, 0x80290000
cmovne eax, esi
add eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [ebx], eax
lea ebx, [edx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [0x5f7760]
mov dword [esp + 0xb0], edx
mov edx, 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0xb4], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
jmp 0x5605dc
mov ecx, dword [ecx*4 + 0x5db554]
xor eax, eax
mov ebx, dword [esp + 0x18]
cmp ecx, 0x802a0000
mov dword [esp + 0x84], ebx
sete al
mov dword [esp + 0x54], eax
movzx eax, word [esi]
lea edx, [ebx + 4]
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 0x3a
jne 0x562025
test edi, edi
jns 0x561f91
mov dword [esp + 0xa4], ecx
mov eax, 0x80290000
jmp 0x561fa3
mov edi, dword ds:[ebp + 0xc]
mov dword [ebx], ecx
mov ebx, edx
mov ecx, dword [0x5f7760]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
jmp 0x5605d8
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x5632b4
movzx ecx, word ds:[esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x562070.34
movzx eax, byte [eax + 0x563484]
jmp dword [eax*4 + 0x56344c]
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x5632b4
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x56209a
mov eax, 0x3e
jmp 0x5628d3
nop word [eax + eax]
cmp eax, 0x3e
je case.0x562070.38
cmp eax, 0x3d
jne 0x563105
push dword ds:[ebp + 0xc]
lea eax, [esp + 0x4c]
mov edx, edi
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push 0x29
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
lfence
call fcn.0055ff80
test eax, eax
je 0x56315b
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80040000
mov eax, dword [esp + 0x64]
mov ecx, dword [0x5f7760]
mov edi, dword [ebp + 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], 1
mov dword [esp + 0x20], ecx
jmp 0x5605d8
add esi, 2
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x562146
cmp word ds:[esi], 0x29
je 0x562bb2
mov ecx, 0x9e
jmp 0x562fcd
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x56216e
mov ax, word [esi + 2]
sub ax, 0x30
cmp ax, 9
jbe case.0x562070.48
mov ecx, 0x81
jmp 0x562fcd
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
mov edx, edi
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push 0x29
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
lfence
call fcn.0055ff80
test eax, eax
je 0x56315b
mov ebx, dword ds:[esp + 0x18]
mov dword [ebx], 0x80210000
jmp 0x5620f7
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x5632b4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
dec eax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
test ecx, ecx
je 0x562204
test byte [esp + 0x58], 4
je 0x562204
lea eax, [ebx - 0x10]
cmp ecx, eax
jne 0x562204
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx ecx, word ds:[esi]
mov eax, ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], 1
cmp ecx, 0x29
je 0x5622d5
cmp ecx, 0x30
jb 0x562237
cmp ecx, 0x39
jbe 0x5622d5
mov edi, ecx
mov dword [esp + 0x60], 0
xor eax, eax
xor edx, edx
cmp edi, dword [esp + 0x20]
je 0x56226c
nop dword [eax + eax]
inc eax
mov edx, eax
mov dword [esp + 0x60], eax
mov ecx, dword [edx*4 + 0x5f7760]
test ecx, ecx
je 0x563119
cmp edi, ecx
jne 0x562250
mov edx, dword [edx*4 + 0x5f90f4]
test edx, edx
je 0x563119
mov edi, dword [esp + 0x3c]
mov dword [ebx], 0x80070000
mov ecx, dword [esp + 0x14]
nop dword [eax]
add ecx, 2
mov dword [esp + 0x14], ecx
cmp ecx, edi
jae 0x56310f
movzx eax, word [ecx]
cmp eax, edx
jne 0x562290
add ecx, 2
mov dword [esp + 0x14], ecx
cmp ecx, edi
jae 0x5622b8
movzx eax, word [ecx]
cmp eax, edx
je 0x562290
mov eax, dword [ebp + 0xc]
sub ecx, esi
sar ecx, 1
mov dword [ebx + 0xc], ecx
add ebx, 0x10
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [esp + 0x6c], esi
mov dword [ebx], esi
jmp 0x562320
mov dword [ebx], 0x80060000
xor ecx, ecx
mov esi, dword [esp + 0x14]
add ebx, 0xc
cmp esi, edi
jae 0x56231e
nop dword [eax]
movzx edx, word [esi]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x56231e
lea ecx, [ecx + ecx*4]
mov eax, edx
lea ecx, [ecx - 0x18]
add esi, 2
mov dword [esp + 0x14], esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x563125
cmp esi, edi
jb 0x5622f0
mov dword [ebx], ecx
mov esi, dword [esp + 0x14]
cmp esi, edi
jae 0x56312f
cmp word [esi], 0x29
jne 0x56312f
mov edi, dword ds:[ebp + 0xc]
add esi, 2
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], esi
sub esi, dword [edi + 0x1c]
sar esi, 1
add ebx, 4
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x5632b4
movzx eax, word ds:[esi]
inc dword [esp + 0x50]
cmp eax, 0x3f
je 0x562768
cmp eax, 0x2a
je 0x562768
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x64]
mov edx, edi
push eax
push 0xa1
push 0xffff
lfence
push dword [esi + 0x74]
lea ecx, [esp + 0x28]
call fcn.0055ef00
nop word [eax + eax]
test eax, eax
je 0x5623fc
mov ecx, dword [esp + 0x60]
test ecx, ecx
jle 0x563139
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80120000
mov eax, dword [esp + 0x14]
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 [esp + 0x6c], eax
jmp 0x562734
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x56307f
mov ebx, dword [esp + 0x14]
mov eax, edi
sub eax, ebx
and eax, 0xfffffffe
cmp eax, 0x14
jl 0x56258c
lea edi, [ecx + 7]
mov edx, str.VERSION
mov esi, ebx
nop word [eax + 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 0x56258c
sub edi, 1
jne 0x562430
cmp word [ebx + 0xe], 0x29
lea esi, [ebx + 0xe]
je 0x56258c
xor ebx, ebx
mov dword [esp + 0x14], esi
cmp word [esi], 0x3e
mov eax, esi
mov dword [esp + 0x4c], ebx
jne 0x56247b
add esi, 2
lea ebx, [edi + 1]
mov dword [esp + 0x14], esi
mov eax, esi
cmp word ds:[esi], 0x3d
jne 0x563147
lea esi, [eax + 2]
mov dword [esp + 0x14], esi
movzx eax, word [esi]
cmp eax, 0x30
jb 0x563147
nop dword [eax]
cmp eax, 0x39
ja 0x563147
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x50]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
lfence
call fcn.0055ef00
test eax, eax
je 0x56315b
mov esi, dword ds:[esp + 0x14]
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
jae 0x563147
cmp word [esi], 0x2e
jne 0x562566
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ecx
jae 0x563147
movzx eax, word [esi]
cmp eax, 0x30
jb 0x563147
cmp eax, 0x39
ja 0x563147
sub eax, 0x30
add esi, 2
mov dword [esp + 0x14], esi
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x563147
movzx eax, word [esi]
cmp eax, 0x30
jb 0x56255b
nop dword [eax]
cmp eax, 0x39
ja 0x56255b
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 2]
mov esi, eax
mov dword [esp + 0x14], esi
cmp eax, ecx
jae 0x563147
cmp word ds:[esi], 0x29
jne 0x563147
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
mov dword [ecx], 0x80150000
add ecx, 4
mov dword [esp + 0x18], ecx
mov dword [ecx], ebx
mov ebx, ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebx], edi
jmp 0x562730
lfence
mov ecx, dword [esp + 0x14]
xor edi, edi
movzx eax, word [ecx]
cmp eax, 0x52
jne 0x5625d0
mov eax, dword [esp + 0x3c]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jle 0x5625e3
cmp word [ecx + 2], 0x26
lea eax, [ecx + 2]
jne 0x5625e3
mov edi, 1
mov dword [esp + 0x14], eax
jmp 0x5625ea
cmp eax, 0x3c
jne 0x5625da
lea esi, [eax + 2]
jmp 0x5625ef
cmp eax, 0x27
jne 0x5625e3
mov esi, eax
jmp 0x5625ef
sub ecx, 2
mov dword [esp + 0x14], ecx
mov esi, 0x29
push dword [ebp + 0xc]
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push esi
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
call fcn.0055ff80
nop
test eax, eax
je 0x56315b
test edi, edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x4c], edi
je 0x562648
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80130000
sub dword [esp + 0x14], 2
jmp 0x562710
cmp esi, 0x29
jne 0x562706
mov ebx, dword [esp + 0x78]
cmp edi, 6
jne 0x5626a9
lea edi, [esi - 0x23]
mov edx, str.DEFINE
mov esi, ebx
nop dword [eax + 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 0x5626a5
sub edi, 1
jne 0x562670
mov ebx, dword ds:[esp + 0x18]
mov eax, 0x80100000
mov edi, dword [esp + 0x4c]
mov dword [ebx], eax
sub dword [esp + 0x14], 2
jmp 0x562710
mov edi, dword [esp + 0x4c]
mov eax, 1
mov dword [esp + 0x60], 1
cmp edi, eax
jle 0x5626e5
mov esi, eax
mov edx, eax
mov ecx, eax
movzx ecx, word [ebx + ecx*2]
cmp ecx, 0x30
jb 0x5626e5
mov eax, edx
cmp ecx, 0x39
ja 0x5626e5
lea eax, [esi + 1]
mov ecx, eax
mov dword [esp + 0x60], eax
mov esi, eax
mov edx, eax
cmp ecx, edi
jl 0x5626c4
cmp word [ebx], 0x52
jne 0x5626f4
cmp eax, edi
mov eax, 0x80140000
jge 0x5626f9
mov eax, 0x80110000
mov ebx, dword [esp + 0x18]
mov dword [ebx], eax
sub dword [esp + 0x14], 2
jmp 0x562710
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x562721
mov dword [ebx], edi
add ebx, 4
mov eax, dword [esp + 0x6c]
mov dword [ebx], eax
mov eax, dword [0x5f7760]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x3c]
mov esi, dword ds:[esp + 0x14]
cmp esi, edi
jae 0x563151
cmp word [esi], 0x29
jne 0x563151
mov edi, dword [ebp + 0xc]
add esi, 2
add ebx, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x94], 2
mov dword [ebx], 0x800f0000
add ebx, 4
mov esi, dword [esp + 0x14]
sub esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x5605d8
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80230000
mov esi, dword [esp + 0x14]
add esi, 2
jmp 0x562862
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80270000
mov esi, dword [esp + 0x14]
add esi, 2
jmp 0x562862
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80240000
mov esi, dword [esp + 0x14]
add esi, 2
jmp 0x562862
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x562090
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x56282b
cmp eax, 0x21
je 0x562819
cmp eax, 0x2a
jne 0x562090
cmp eax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x562830
mov ecx, 0x80250000
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov dword [ebx], ecx
mov eax, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
add ebx, 4
mov ecx, dword [ebp + 8]
sub eax, dword [edi + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ecx], 1
mov dword [ebx], eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
add esi, 4
mov eax, dword [esp + 0x50]
add ebx, 4
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], eax
test edx, edx
jle 0x5605d8
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x56288f
mov edx, dword [edi + 0x14]
mov dword [esp + 0x70], edx
jmp 0x5628ad
add edx, 0xc
mov dword [esp + 0x70], edx
cmp edx, dword [esp + 0x9c]
jae 0x5630da
mov word [edx], ax
mov eax, 2
mov word [edx + 6], ax
mov eax, dword [esp + 0x58]
and eax, 0x10424e8
mov dword [edx + 8], eax
mov esi, dword [esp + 0x14]
jmp 0x5605d8
mov eax, 0x27
mov ecx, dword ds:[ebp + 0xc]
mov edx, edi
push ecx
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x7c]
push ecx
push eax
push dword [esp + 0x80]
lea ecx, [esp + 0x30]
lfence
call fcn.0055ff80
test eax, eax
je 0x56315b
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x5631cd
mov ecx, dword [esp + 0x18]
inc eax
inc dword [esp + 0x50]
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ecx], eax
add ecx, 4
movzx edx, word [edi + 0x58]
mov eax, 0x2710
mov dword [esp + 0x18], ecx
cmp dx, ax
jae 0x5631b1
mov esi, dword [esp + 0x64]
movzx eax, word [edi + 0x5a]
lea ecx, [esi + 2]
cmp ecx, eax
jbe 0x562960
lea eax, [esi + 2]
mov word [edi + 0x5a], ax
mov ebx, dword [edi + 0x64]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x60], ecx
cmp ax, dx
jae 0x562a17
nop dword [eax]
movzx eax, word [ebx + 8]
cmp esi, eax
jne 0x5629f3
mov edx, dword [ebx]
test esi, esi
je 0x5629c0
mov edi, dword [esp + 0x78]
sub edi, edx
nop dword [eax]
movzx ecx, word [edi + edx]
lea edx, [edx + 2]
movzx eax, word [edx - 2]
cmp cx, ax
jne 0x5629ec
sub esi, 1
jne 0x5629a0
mov ecx, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 0x74]
je 0x562a17
test byte [esp + 0x58], 0x40
je 0x563168
mov eax, 1
mov word [ebx + 0xa], ax
mov dword [esp + 0x4c], eax
mov dword [edi + 0xbc], eax
jmp 0x5629ff
mov ecx, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 0x74]
je 0x563184
movzx eax, word [edi + 0x58]
inc ecx
mov esi, dword [esp + 0x64]
add ebx, 0xc
mov dword [esp + 0x60], ecx
cmp ecx, eax
jl 0x562980
movzx eax, word ds:[edi + 0x58]
cmp ecx, eax
jl 0x562afd
mov ecx, dword [edi + 0x68]
cmp eax, ecx
jb 0x562a9f
mov esi, dword [edi]
lea ebx, [ecx + ecx]
lea eax, [ebx + ebx*2]
shl eax, 2
push dword [esi + 8]
mov esi, dword [esi]
mov ecx, esi
push eax
call dword [0x5a9914]
call esi
mov edi, eax
test edi, edi
je 0x5631a3
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.00586310
add esp, 0xc
cmp dword [esi + 0x68], 0x14
jbe 0x562a96
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 [0x5a9914]
call esi
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x64], edi
mov edi, dword [ebp + 0xc]
mov dword [edi + 0x68], ebx
movzx eax, word [edi + 0x58]
mov edx, dword [esp + 0x78]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [edi + 0x58]
mov edx, dword [esp + 0x64]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [edi + 0x58]
mov ecx, dword [edi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [edi + 0x58]
mov edx, dword [esp + 0x4c]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
mov eax, dword [0x5f7760]
inc word [edi + 0x58]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jmp 0x5605d4
mov edx, dword [0x5f7760]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x5605d4
cmp ecx, 0x2d
jne 0x562bf1
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x562bf1
mov ax, word [esi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x562bf1
lfence
mov eax, dword [esp + 0x14]
mov ax, word [eax]
sub ax, 0x30
cmp ax, 9
ja 0x562b56
mov eax, 0xffffffff
jmp 0x562b5c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x74]
lea ecx, [esp + 0x48]
mov edx, edi
push ecx
lea ecx, [esp + 0x64]
push ecx
push 0xa1
push 0xffff
push eax
lea ecx, [esp + 0x28]
call fcn.0055ef00
nop dword [eax]
test eax, eax
je 0x56315b
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
test eax, eax
js 0x5631e9
nop dword [eax + eax]
cmp esi, edi
jae 0x5632b4
cmp word [esi], 0x29
jne 0x5632b4
mov ebx, dword [esp + 0x18]
or eax, 0x80200000
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x54], 1
mov dword [ebx], eax
mov eax, dword [esp + 0x14]
mov ecx, eax
sub ecx, dword [edi + 0x1c]
add eax, 2
sar ecx, 1
mov dword [esp + 0x14], eax
mov dword [ebx + 4], ecx
add ebx, 8
mov esi, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov eax, dword ds:[esp + 0x50]
mov edx, dword [esp + 0x70]
inc eax
mov dword [esp + 0x50], eax
test edx, edx
jne 0x562c13
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x70], edx
jmp 0x562c30
add edx, 0xc
mov dword [esp + 0x70], edx
cmp edx, dword [esp + 0x9c]
jae 0x5630da
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
mov word [edx], ax
xor eax, eax
mov word [edx + 6], ax
mov eax, ecx
and eax, 0x10424e8
mov dword [edx + 8], eax
mov eax, dword [esp + 0x14]
cmp word [eax], 0x7c
jne 0x562c96
movzx eax, word [edi + 0x74]
mov ebx, dword [esp + 0x18]
mov word [edx + 2], ax
movzx eax, word [edi + 0x74]
mov word [edx + 4], ax
mov eax, 1
mov word [edx + 6], ax
or dword [edi + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x5605d8
xor eax, eax
mov dword [esp + 0x4c], ecx
mov dword [edx + 2], eax
xor ecx, ecx
mov esi, dword [esp + 0x14]
lea edx, [esp + 0xb8]
mov eax, dword [esp + 0x3c]
xor edi, edi
mov dword [esp + 0xbc], ecx
mov ebx, 1
mov dword [esp + 0xb8], edi
cmp esi, eax
jae 0x562dcd
cmp word [esi], 0x5e
jne 0x562ce4
and dword [esp + 0x58], 0xfeffdb57
xor ebx, ebx
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, eax
jae 0x562dcd
mov edi, eax
nop
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x29
je 0x562dbf
nop
cmp eax, 0x3a
je 0x562dbf
add esi, 2
lea eax, [ecx - 0x2d]
mov dword [esp + 0x14], esi
cmp eax, 0x4b
ja case.0x562d23.46
movzx eax, byte [eax + 0x5634dc]
jmp dword [eax*4 + 0x5634b8]
test ebx, ebx
je 0x5631f3
lea edx, ds:[esp + 0xbc]
xor ebx, ebx
jmp 0x562db5
mov eax, dword [ebp + 0xc]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x562db5
or dword [edx], 8
jmp 0x562db5
or dword [edx], 0x400
jmp 0x562db5
or dword [edx], 0x2000
jmp 0x562db5
or dword [edx], 0x20
jmp 0x562db5
or dword [edx], 0x40000
jmp 0x562db5
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x562db7
cmp word [esi], 0x78
jne 0x562cf0
or ecx, 0x1000000
add esi, 2
mov dword [edx], ecx
mov dword [esp + 0x14], esi
mov eax, esi
cmp eax, edi
jb 0x562cf0
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x562ddf
test cl, cl
jns 0x562de5
or ecx, 0x1000000
or edi, dword [esp + 0x58]
not ecx
and ecx, edi
mov dword [esp + 0x58], ecx
cmp esi, dword [esp + 0x3c]
jae 0x5632b4
movzx eax, word [esi]
add esi, 2
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], esi
cmp eax, 0x29
jne 0x562e52
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
add ebx, 0xffff
mov dword [esp + 0x50], ebx
cmp edx, dword [edi + 0x14]
jbe 0x562e46
cmp word [edx - 0xc], bx
lea eax, [edx - 0xc]
jne 0x562e46
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x70], eax
jmp 0x562e67
mov word [edx], bx
mov ebx, dword [esp + 0x18]
jmp 0x562e63
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x14]
cmp ecx, dword [esp + 0x4c]
je 0x5605d8
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], ecx
add ebx, 8
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov edx, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
test edx, edx
je 0x562ec9
mov ecx, dword ds:[esp + 0x50]
cmp word [edx], cx
jne 0x562ec9
test byte [edx + 6], 1
je 0x562ec9
movzx eax, word [edx + 4]
mov ecx, dword [edi + 0x74]
cmp ecx, eax
jbe 0x562ec2
mov word [edx + 4], cx
movzx eax, word [edx + 2]
mov dword [edi + 0x74], eax
mov ebx, dword ds:[esp + 0x18]
mov dword [ebx], 0x80010000
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], 1
test edx, edx
je 0x562f89
nop dword [eax]
cmp word [edx], bx
jne 0x562f89
mov ecx, dword [esp + 0x58]
mov edi, dword [ebp + 0xc]
and ecx, 0xfefbdb17
or ecx, dword [edx + 8]
test byte [edx + 6], 1
mov dword [esp + 0x58], ecx
je 0x562f37
movzx eax, word [edx + 4]
cmp eax, dword [edi + 0x74]
jbe 0x562f37
mov dword [edi + 0x74], eax
movzx eax, word [edx + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x54], ecx
test al, 4
je 0x562f65
mov eax, dword [esp + 0x18]
mov dword [eax], 0x80190000
add eax, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp edx, dword [edi + 0x14]
jne 0x562f79
xor eax, eax
mov dword [esp + 0x70], eax
jmp 0x562f8c
sub edx, 0xc
mov dword [esp + 0x54], ecx
mov dword [esp + 0x70], edx
jmp 0x562f8c
mov edi, dword [ebp + 0xc]
test bx, bx
je 0x563212
add ebx, 0xffff
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x18]
mov dword [ebx], 0x80190000
add ebx, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
jmp 0x5605d8
mov ebx, dword ds:[esp + 0x18]
mov dword [ebx], edx
jmp 0x56103b
mov ecx, 0x80
sub esi, 2
mov edi, dword [ebp + 0xc]
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub esi, dword [edi + 0x1c]
mov ecx, 0x8c
sar esi, 1
mov eax, ecx
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub esi, 2
mov ecx, 0xb0
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub esi, dword [edi + 0x1c]
mov ecx, 0x76
sar esi, 1
mov eax, ecx
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, 0x6d
jmp 0x562fca
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x562fcd
mov ecx, 0x71
jmp 0x562fca
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov eax, ecx
sub esi, dword [edi + 0x1c]
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [esp + 0x14]
mov ecx, 0x6b
jmp 0x562fca
mov ecx, 0xab
mov esi, dword [esp + 0x14]
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, 0x96
jmp 0x562fcd
mov ecx, 0x6c
jmp 0x562fca
mov ecx, 0x6a
jmp 0x562fcd
cmp ecx, 0x80270000
je 0x5630cc
cmp ecx, 0x80280000
mov ecx, 0x80
jne 0x562fcd
mov ecx, 0xc6
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, 0xb8
jmp 0x562fcd
mov ecx, 0xbd
jmp 0x562fcd
mov ecx, 0xc3
jmp 0x562fcd
mov ecx, 0xa6
jmp 0x562fcd
mov ecx, 0x8d
jmp 0x562fcd
mov ecx, 0xb5
jmp 0x562fcd
mov ecx, 0xb6
jmp 0x562fcd
mov ecx, 0x8a
jmp 0x562fcd
mov ecx, 0x8b
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, 0x73
jmp 0x562fcd
mov ecx, 0xb3
jmp 0x562fcd
mov ecx, 0x7c
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, 0x8f
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword ds:[esp + 0x14]
mov ecx, 0xa5
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [esp + 0x14]
mov ecx, 0x79
jmp 0x562fcd
mov esi, dword [esp + 0x14]
mov ecx, 0x95
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [esp + 0x14]
sub esi, dword [edi + 0x1c]
mov ecx, 0xc5
sar esi, 1
mov eax, ecx
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, 0x73
jmp 0x562fca
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x562fcd
mov ecx, 0x6f
add esi, 0xfffffffe
jmp 0x562fcd
mov ecx, 0x7a
jmp 0x562fca
mov esi, dword [esp + 0x14]
mov ecx, 0x77
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edi, edx
jmp 0x560475
nop
test cl, 4
je 0x563259
mov dword [eax], 0x80190000
mov dword [eax + 4], 0x80180005
add eax, 8
nop dword [eax]
cmp eax, dword [esp + 0xac]
jb 0x56327b
mov esi, dword [esp + 0x14]
mov ecx, 0xa3
jmp 0x562fcd
cmp word [esp + 0x50], 0
mov dword [eax], 0x80000000
jne 0x563298
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [esp + 0x14]
mov ecx, 0x72
sub esi, dword [edi + 0x1c]
mov eax, ecx
sar esi, 1
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edi, dword [ebp + 0xc]
sub esi, dword [edi + 0x1c]
mov ecx, 0x72
sar esi, 1
mov eax, ecx
mov dword [edi + 0x54], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8