Function at 0x48d0a5
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, edx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp + 0x18]
lea ebx, [eax - 1]
cmp ebx, 0x2d
ja case.0x48d0d4.45
jmp dword [ebx*4 + 0x670e60]
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
cmp edx, eax
je 0x48d13e
cmp edx, 0x1e
je 0x48d13e
cmp edx, 3
je 0x48d13e
cmp edx, 0x20
je 0x48d13e
cmp edx, 0x1f
je 0x48d13e
cmp edx, 0x22
je 0x48d13e
cmp edx, 0x21
je 0x48d13e
cmp edx, 0x24
je 0x48d13e
cmp edx, 0x23
je 0x48d13e
cmp edx, 0x26
je 0x48d13e
cmp edx, 0x25
je 0x48d13e
cmp edx, 0x28
je 0x48d13e
cmp edx, 0x27
je 0x48d13e
cmp edx, 0x2a
je 0x48d13e
mov ebx, 0xfffffffe
cmp edx, 0x29
jne 0x48dfbc
mov edx, esi
mov eax, edi
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048b66c
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
mov ebx, 0xfffffffe
cmp edx, 0xc
jne 0x48dfbc
mov ebx, dword [edi + 8]
mov eax, dword [esi + 8]
sub ebx, eax
mov dword [ebp - 0x24], ebx
fld qword [edi + 0x10]
fsub qword [esi + 0x10]
fnstcw word [ebp - 0x1e]
mov ax, word [ebp - 0x1e]
or ah, 0xc
mov word [ebp - 0x20], ax
fldcw word [ebp - 0x20]
fist dword [ebp - 0x1c]
fldcw word [ebp - 0x1e]
mov eax, dword [ebp - 0x1c]
mov ebx, 0x15180
cdq
idiv ebx
imul edx, eax, 0x15180
push edx
fisub dword [esp]
add esp, 4
mov ecx, dword [edi + 0xc]
add ecx, eax
sub ecx, dword [esi + 0xc]
cmp dword [ebp - 0x24], 0
jne 0x48d1ee
test ecx, ecx
jne 0x48d1e5
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jp 0x48d1d6
mov ebx, 0
je 0x48df98
fldz
fucompp
fnstsw ax
sahf
setbe bl
jmp 0x48db09
fstp st(0)
mov ebx, ecx
jmp 0x48db33
jle 0x48d215
test ecx, ecx
js 0x48d20a
mov ebx, 1
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
jae 0x48dfbc
jmp 0x48d20c
fstp st(0)
neg ecx
mov ebx, 1
jmp 0x48d233
test ecx, ecx
jg 0x48d22b
or ebx, 0xffffffff
fldz
fucompp
fnstsw ax
sahf
jae 0x48dfbc
jmp 0x48d22d
fstp st(0)
neg dword [ebp - 0x24]
or ebx, 0xffffffff
mov esi, 0xc
mov eax, dword [ebp - 0x24]
cdq
idiv esi
mov esi, eax
test eax, eax
je 0x48d271
lea eax, [eax - 1]
mov edi, 4
cdq
idiv edi
imul edx, edx, 0x16d
mov dword [ebp - 0x28], edx
lea eax, [esi + 3]
cdq
idiv edi
imul eax, eax, 0x16e
mov esi, dword [ebp - 0x28]
add esi, eax
lea edx, [esi - 1]
mov dword [ebp - 0x28], edx
jmp 0x48d27a
xor esi, esi
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x24]
mov edi, 0xc
cdq
idiv edi
mov edi, dword [ebp - 0x28]
add edi, dword [edx*4 + 0x671350]
add esi, dword [edx*4 + 0x671380]
cmp esi, ecx
jne 0x48d29e
cmp esi, edi
je 0x48d2b6
cmp esi, ecx
jge 0x48d2a9
neg ebx
jmp 0x48dfbc
cmp edi, ecx
jg 0x48dfbc
jmp 0x48debb
xor ebx, ebx
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
cmp edx, 4
je 0x48d2fe
cmp edx, 0xb
je 0x48d2fe
cmp edx, 6
je 0x48d2fe
cmp edx, 5
je 0x48d2fe
cmp edx, 8
je 0x48d2fe
cmp edx, 7
je 0x48d2fe
cmp edx, 9
je 0x48d2fe
mov ebx, 0xfffffffe
cmp edx, 0xa
jne 0x48dfbc
test byte [edi + 0x18], 1
mov al, byte [esi + 0x18]
je 0x48d537
test al, 1
jne 0x48d781
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, edi
call fcn.0048ca75
mov edx, eax
mov dword [ebp - 0x30], edx
call fcn.0048b825
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx + 0xc]
shr cx, 4
and ecx, 0x1f
lea ecx, [eax + ecx]
mov dword [ebp - 0x28], ecx
mov dword [esp], 0
mov dword [esp + 4], 0x40e89c00
mov eax, esi
call fcn.0048ca75
mov dword [ebp - 0x24], eax
call fcn.0048b825
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebx + 0xc]
shr cx, 4
and ecx, 0x1f
lea ecx, [eax + ecx]
cmp dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x30]
jge 0x48d38c
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov dword [esp], ebx
jmp 0x48d422
jne 0x48d527
mov ebx, dword [edx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [edx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x18]
shl ecx, 3
sar cx, 4
movsx ecx, cx
mov eax, dword [eax + 0xc]
shr eax, 0xe
and eax, 0x3f
add ecx, eax
imul ebx, dword [ebp - 0x2c], 0x3c
mov al, byte [edx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
add ebx, eax
mov dword [ebp - 0x1c], ebx
fild dword [ebp - 0x1c]
fadd qword [edx + 0x10]
imul ecx, ecx, 0x3c
mov eax, dword [ebp - 0x24]
mov bl, byte [eax + 0xd]
shr bl, 1
and ebx, 0x1f
imul ebx, ebx, 0xe10
add ecx, ebx
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fadd qword [eax + 0x10]
fsubp st(1)
fldz
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x48d42c
fstp st(0)
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x24]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
jmp 0x48deb3
mov dword [esp], 0
mov dword [esp + 4], 0xc0e89c00
mov eax, esi
mov dword [ebp - 0x30], edx
fstp qword [ebp - 0x48]
call fcn.0048ca75
mov ecx, eax
mov dword [ebp - 0x34], ecx
call fcn.0048b825
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ecx + 0xc]
shr bx, 4
and ebx, 0x1f
add eax, ebx
mov ebx, 1
cmp dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x30]
fld qword [ebp - 0x48]
jg 0x48d500
mov bl, 0
jne 0x48d504
mov ebx, dword [edx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [edx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x28], eax
mov ebx, dword [ecx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [ecx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x2c], eax
imul ebx, dword [ebp - 0x28], 0x3c
mov al, byte [edx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
lea eax, [ebx + eax]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [edx + 0x10]
imul ebx, dword [ebp - 0x2c], 0x3c
mov al, byte [ecx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
lea eax, [ebx + eax]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [ecx + 0x10]
fsubp st(1)
fucompp
fnstsw ax
xor ebx, ebx
sahf
setbe bl
inc ebx
jmp 0x48d506
fstp st(0)
jmp 0x48d506
fstp st(0)
mov dword [esp], edx
mov dword [ebp - 0x34], ecx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov ecx, dword [ebp - 0x34]
mov dword [esp], ecx
jmp 0x48d75d
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x24]
jmp 0x48d779
test al, 1
je 0x48d781
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, esi
call fcn.0048ca75
mov edx, eax
mov dword [ebp - 0x30], edx
call fcn.0048b825
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx + 0xc]
shr cx, 4
and ecx, 0x1f
lea ecx, [eax + ecx]
mov dword [ebp - 0x24], ecx
mov dword [esp], 0
mov dword [esp + 4], 0xc0e89c00
mov eax, edi
call fcn.0048ca75
mov ecx, eax
mov dword [ebp - 0x34], ecx
call fcn.0048b825
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ecx + 0xc]
shr bx, 4
and ebx, 0x1f
lea ebx, [eax + ebx]
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x24]
cmp ebx, eax
mov edx, dword [ebp - 0x30]
jge 0x48d5b7
mov dword [esp], ecx
jmp 0x48d646
jne 0x48d76b
mov ebx, dword [ecx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [ecx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x24], eax
mov ebx, dword [edx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [edx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x2c], eax
imul ebx, dword [ebp - 0x24], 0x3c
mov al, byte [ecx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
lea eax, [ebx + eax]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [ecx + 0x10]
imul ebx, dword [ebp - 0x2c], 0x3c
mov al, byte [edx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
lea eax, [ebx + eax]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [edx + 0x10]
fsubp st(1)
fldz
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x48d653
fstp st(0)
mov dword [esp], ecx
mov dword [ebp - 0x30], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x30]
jmp 0x48d41f
mov dword [esp], 0
mov dword [esp + 4], 0x40e89c00
mov eax, edi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
fstp qword [ebp - 0x48]
call fcn.0048ca75
mov dword [ebp - 0x24], eax
call fcn.0048b825
mov ebx, dword [ebp - 0x24]
mov ebx, dword [ebx + 0xc]
shr bx, 4
mov word [ebp - 0x2c], bx
and ebx, 0x1f
add eax, ebx
mov ebx, 1
cmp eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
fld qword [ebp - 0x48]
jg 0x48d73b
mov bl, 0
jne 0x48d73f
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov dword [ebp - 0x28], ebx
mov eax, dword [eax + 0xc]
shr eax, 0xe
and eax, 0x3f
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ebx, dword [edx + 0x18]
shl ebx, 3
sar bx, 4
movsx ebx, bx
mov eax, dword [edx + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [ebx + eax]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x28], 0x3c
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
mov al, byte [ebx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [ebx + 0x10]
imul ebx, dword [ebp - 0x2c], 0x3c
mov al, byte [edx + 0xd]
shr al, 1
and eax, 0x1f
imul eax, eax, 0xe10
lea eax, [ebx + eax]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [edx + 0x10]
fsubp st(1)
fucompp
fnstsw ax
xor ebx, ebx
sahf
setbe bl
inc ebx
jmp 0x48d741
fstp st(0)
jmp 0x48d741
fstp st(0)
mov dword [esp], ecx
mov dword [ebp - 0x30], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
test ebx, ebx
je 0x48d781
jmp 0x48dfbc
mov dword [esp], ecx
mov dword [ebp - 0x30], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov ecx, dword [edi]
mov edx, dword [esi]
cmp ecx, edx
jne 0x48d89b
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, esi
call fcn.0048ca75
mov esi, eax
call fcn.0048b825
mov edx, dword [esi + 0xc]
shr dx, 4
and edx, 0x1f
lea edx, [eax + edx]
mov dword [ebp - 0x24], edx
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, edi
call fcn.0048ca75
mov edi, eax
call fcn.0048b825
mov edx, dword [edi + 0xc]
shr dx, 4
and edx, 0x1f
lea edx, [eax + edx]
or ebx, 0xffffffff
cmp edx, dword [ebp - 0x24]
jl 0x48d886
mov ebx, 1
jg 0x48d886
mov eax, dword [edi + 0x18]
shl eax, 3
sar ax, 4
movsx ecx, ax
mov eax, dword [edi + 0xc]
shr eax, 0xe
and eax, 0x3f
add ecx, eax
mov edx, dword [esi + 0x18]
shl edx, 3
sar dx, 4
movsx edx, dx
mov eax, dword [esi + 0xc]
shr eax, 0xe
and eax, 0x3f
lea eax, [edx + eax]
imul ecx, ecx, 0x3c
mov dl, byte [edi + 0xd]
shr dl, 1
and edx, 0x1f
imul edx, edx, 0xe10
lea edx, [ecx + edx]
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
fadd qword [edi + 0x10]
imul eax, eax, 0x3c
mov dl, byte [esi + 0xd]
shr dl, 1
and edx, 0x1f
imul edx, edx, 0xe10
lea edx, [eax + edx]
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
fadd qword [esi + 0x10]
fsubp st(1)
fldz
or ebx, 0xffffffff
fucom st(1)
fnstsw ax
sahf
ja 0x48d882
fxch st(1)
fucompp
fnstsw ax
xor ebx, ebx
sahf
seta bl
jmp 0x48d886
fstp st(0)
fstp st(0)
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
jmp 0x48dfbc
lea ebx, [ecx - 4]
xor eax, eax
cmp ebx, 7
ja 0x48d8ab
mov al, byte [ecx + 0x671444]
lea ebx, [edx - 4]
xor ecx, ecx
cmp ebx, 7
ja 0x48d8bb
mov cl, byte [edx + 0x67144c]
mov dl, cl
xor edx, eax
movzx edx, dl
mov ebx, 2
test dl, 1
jne 0x48dfbc
and eax, ecx
movzx eax, al
test al, 1
je 0x48d8f3
or ebx, 0xffffffff
mov ecx, dword [esi + 8]
cmp dword [edi + 8], ecx
jl 0x48dfbc
mov ebx, 1
jg 0x48dfbc
mov ebx, 2
test dl, 2
jne 0x48dfbc
test al, 2
je 0x48d92b
mov cl, byte [edi + 0xc]
and ecx, 0xf
mov bl, byte [esi + 0xc]
and ebx, 0xf
mov dword [ebp - 0x24], ebx
or ebx, 0xffffffff
cmp ecx, dword [ebp - 0x24]
jl 0x48dfbc
mov ebx, 1
jg 0x48dfbc
mov ebx, 2
test dl, 4
jne 0x48dfbc
test al, 4
je 0x48d96f
mov ecx, dword [edi + 0xc]
shr cx, 4
mov ebx, ecx
and ebx, 0x1f
mov dword [ebp - 0x28], ebx
mov ebx, dword [esi + 0xc]
shr bx, 4
mov ecx, ebx
and ecx, 0x1f
or ebx, 0xffffffff
cmp dword [ebp - 0x28], ecx
jl 0x48dfbc
mov ebx, 1
jg 0x48dfbc
mov ebx, 2
and dl, 8
jne 0x48dfbc
xor bl, bl
test al, 8
je 0x48dfbc
mov al, byte [edi + 0xd]
shr al, 1
mov edx, eax
and edx, 0x1f
mov al, byte [esi + 0xd]
shr al, 1
and eax, 0x1f
or ebx, 0xffffffff
cmp edx, eax
jl 0x48dfbc
mov ebx, 1
jg 0x48dfbc
mov edx, dword [edi + 0xc]
shr edx, 0xe
and edx, 0x3f
mov eax, dword [esi + 0xc]
shr eax, 0xe
and eax, 0x3f
or ebx, 0xffffffff
cmp edx, eax
jl 0x48dfbc
mov ebx, 1
jg 0x48dfbc
fld qword [edi + 0x10]
fld qword [esi + 0x10]
or ebx, 0xffffffff
fucom st(1)
fnstsw ax
sahf
ja 0x48df9c
fxch st(1)
fucompp
fnstsw ax
sahf
seta bl
jmp 0x48ddd7
test edi, edi
je 0x48da04
mov edi, dword [edi + 8]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x2c]
test esi, esi
je 0x48da0e
mov eax, dword [esi + 8]
cmp edx, 0x15
jne 0x48da2c
call sym.evasi0n_gui.exe___xmlGenericError
mov ebx, dword [eax]
call sym.evasi0n_gui.exe___xmlGenericErrorContext
mov dword [esp + 0xc], 0x12a8
jmp 0x48df7a
cmp edx, 1
je 0x48da6c
cmp edx, 0x2e
je 0x48da6c
cmp edx, 0x10
je 0x48da6c
cmp edx, 2
je 0x48da6c
cmp edx, 0x12
je 0x48da6c
cmp edx, 0x11
je 0x48da6c
cmp edx, 0x16
je 0x48da6c
cmp edx, 0x14
je 0x48da6c
cmp edx, 0x18
je 0x48da6c
cmp edx, 0x17
je 0x48da6c
cmp edx, 0x1d
je 0x48da6c
cmp edx, 0x1a
jne case.0x48d0d4.45
cmp dword [ebp - 0x28], 1
jne 0x48daae
cmp ecx, 1
jne 0x48da86
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x24]
mov dword [esp], edx
jmp 0x48dd42
cmp ecx, 2
jne 0x48da94
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48dac0
mov ebx, 0xfffffffe
cmp ecx, 3
jne 0x48dfbc
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48dba4
cmp dword [ebp - 0x28], 2
jne 0x48db8d
cmp ecx, 1
jne 0x48dacc
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048b8ed
cmp ecx, 2
je 0x48db56
jmp 0x48db76
lea esi, [ecx - 9]
mov ebx, esi
cmp bl, 1
jbe 0x48daee
cmp cl, 0x20
je 0x48daee
cmp cl, 0xd
jne 0x48db15
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48db52
cmp dl, 0x20
je 0x48db52
cmp dl, 0xd
je 0x48db52
movzx edx, dl
cmp edx, 0x1f
setg bl
movzx ebx, bl
lea ebx, [ebx + ebx - 1]
jmp 0x48dfbc
lea esi, [edx - 9]
mov ebx, esi
cmp bl, 1
jbe 0x48db29
cmp dl, 0x20
je 0x48db29
cmp dl, 0xd
jne 0x48db3b
movzx ecx, cl
mov ebx, 0x20
sub ebx, ecx
sar ebx, 0x1f
jmp 0x48def6
movzx edx, dl
movzx ecx, cl
sub edx, ecx
cmp edx, 0
jl 0x48deb3
jne 0x48dce9
inc edi
inc eax
jmp 0x48db59
mov edi, dword [ebp - 0x24]
mov dl, byte [edi]
test dl, dl
jne 0x48db67
cmp byte [eax], 1
jmp 0x48df44
mov cl, byte [eax]
test cl, cl
jne 0x48dada
jmp 0x48dce9
mov ebx, 0xfffffffe
cmp ecx, 3
jne 0x48dfbc
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48dbba
mov ebx, 0xfffffffe
cmp dword [ebp - 0x28], 3
jne 0x48dfbc
cmp ecx, 1
jne 0x48dbb0
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048b963
cmp ecx, 2
jne 0x48dbc6
mov cl, 1
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048ba22
cmp ecx, 3
jne 0x48dfbc
mov ecx, dword [ebp - 0x24]
jmp 0x48dbd5
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48dbd4
cmp dl, 0x20
je 0x48dbd4
cmp dl, 0xd
je 0x48dbd4
mov dword [ebp - 0x24], ecx
jmp 0x48dbef
inc eax
mov dl, byte [eax]
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48dbee
cmp dl, 0x20
je 0x48dbee
cmp dl, 0xd
je 0x48dbee
mov ecx, dword [ebp - 0x24]
jmp 0x48dc85
lea esi, [ebx - 9]
mov edx, esi
cmp dl, 1
jbe 0x48dc1c
cmp bl, 0x20
je 0x48dc1c
cmp bl, 0xd
jne 0x48dc6d
lea esi, [edi - 9]
mov edx, esi
cmp dl, 1
jbe 0x48dc40
mov edx, edi
cmp dl, 0x20
je 0x48dc40
cmp dl, 0xd
je 0x48dc40
movzx ebx, bl
movzx edx, dl
sub ebx, edx
jmp 0x48dfbc
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48dc3f
cmp dl, 0x20
je 0x48dc3f
cmp dl, 0xd
je 0x48dc3f
jmp 0x48dc57
inc eax
mov dl, byte [eax]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48dc56
cmp dl, 0x20
je 0x48dc56
cmp dl, 0xd
je 0x48dc56
jmp 0x48dc85
movzx ebx, bl
and edi, 0xff
sub ebx, edi
cmp ebx, 0
jl 0x48deb3
jne 0x48dce9
inc ecx
inc eax
mov bl, byte [ecx]
test bl, bl
je 0x48dcbf
movzx edi, byte [eax]
mov edx, edi
test dl, dl
jne 0x48dc08
mov dword [ebp - 0x24], ecx
jmp 0x48dc9e
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48dc9d
cmp dl, 0x20
je 0x48dc9d
cmp dl, 0xd
je 0x48dc9d
mov ebx, 1
test dl, dl
jne 0x48dfbc
xor ebx, ebx
cmp byte [eax], 0
je 0x48dfbc
jmp 0x48dccd
inc eax
mov dl, byte [eax]
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48dccc
cmp dl, 0x20
je 0x48dccc
cmp dl, 0xd
je 0x48dccc
cmp dl, 1
jmp 0x48df44
mov ebx, 1
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
cmp edx, 0x1c
je 0x48dd16
mov ebx, 0xfffffffe
cmp edx, 0x15
jne 0x48dfbc
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
mov ebx, 2
test eax, eax
je 0x48dfbc
mov eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
cmp eax, 1
sbb ebx, ebx
and ebx, 2
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
sub edx, 0xd
mov ebx, 0xfffffffe
cmp edx, 1
ja 0x48dfbc
mov eax, dword [edi]
cmp eax, 0xe
jne 0x48dd81
fld qword [edi + 8]
jmp 0x48dd8d
cmp eax, 0xd
jne 0x48dfbc
fld dword [edi + 8]
mov eax, dword [esi]
cmp eax, 0xe
jne 0x48dd9b
fld qword [esi + 8]
fxch st(1)
jmp 0x48ddae
mov ebx, 0xfffffffe
cmp eax, 0xd
jne 0x48dfa2
fld dword [esi + 8]
fxch st(1)
fst qword [esp]
fxch st(1)
fstp qword [ebp - 0x58]
fstp qword [ebp - 0x48]
call sym.evasi0n_gui.exe_xmlXPathIsNaN
test eax, eax
fld qword [ebp - 0x58]
fld qword [ebp - 0x48]
je 0x48dddf
fstp st(0)
fstp qword [esp]
call sym.evasi0n_gui.exe_xmlXPathIsNaN
test eax, eax
sete bl
movzx ebx, bl
jmp 0x48dfbc
fxch st(1)
fst qword [esp]
fstp qword [ebp - 0x58]
fstp qword [ebp - 0x48]
call sym.evasi0n_gui.exe_xmlXPathIsNaN
or ebx, 0xffffffff
test eax, eax
fld qword [ebp - 0x58]
fld qword [ebp - 0x48]
jne 0x48dfa6
fld qword [sym.evasi0n_gui.exe_xmlXPathPINF]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jp 0x48de27
jne 0x48de2b
fstp st(0)
fxch st(1)
mov bl, 1
fucompp
fnstsw ax
sahf
jp 0x48de20
je 0x48de22
xor ebx, ebx
xor ebx, 1
jmp 0x48ddd7
fxch st(2)
jmp 0x48de2d
fxch st(2)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jp 0x48de41
mov ebx, 0xffffffff
je 0x48dfac
fld qword [sym.evasi0n_gui.exe_xmlXPathNINF]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
jp 0x48de68
jne 0x48de6c
fstp st(0)
fucompp
fnstsw ax
sahf
jp 0x48deb3
mov ebx, 0
je 0x48dfbc
jmp 0x48deb3
fxch st(1)
jmp 0x48de6e
fxch st(1)
fucom st(2)
fnstsw ax
fstp st(2)
sahf
jp 0x48de86
mov ebx, 1
je 0x48dfb2
fxch st(1)
jmp 0x48de88
fxch st(1)
or ebx, 0xffffffff
fucom st(1)
fnstsw ax
sahf
ja 0x48dfb8
fxch st(1)
mov ebx, 1
fucompp
fnstsw ax
sahf
ja 0x48dfbc
jp 0x48debb
mov bl, 0
jne 0x48debb
jmp 0x48dfbc
or ebx, 0xffffffff
jmp 0x48dfbc
mov ebx, 2
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
mov ebx, 0xfffffffe
cmp edx, 0xf
jne 0x48dfbc
mov eax, dword [edi + 8]
xor ebx, ebx
cmp eax, dword [esi + 8]
je 0x48dfbc
cmp eax, 1
sbb ebx, ebx
or ebx, 1
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
mov ebx, 0xfffffffe
cmp edx, 0x2b
jne 0x48dfbc
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0xc]
cmp eax, edx
jne 0x48df5c
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrcmp
mov ebx, 1
test eax, eax
jg 0x48dfbc
cmp eax, 1
sbb ebx, ebx
not ebx
jmp 0x48dfbc
test esi, esi
je case.0x48d0d4.45
test edi, edi
je case.0x48d0d4.45
mov ebx, 0xfffffffe
cmp edx, 0x2c
jmp 0x48df16
cmp edx, eax
sbb ebx, ebx
and ebx, 2
dec ebx
jmp 0x48dfbc
call sym.evasi0n_gui.exe___xmlGenericError
mov ebx, dword [eax]
call sym.evasi0n_gui.exe___xmlGenericErrorContext
mov dword [esp + 0xc], 0x1325
mov dword [esp + 8], str.xmlschemastypes.c
mov dword [esp + 4], 0x670b1a
mov eax, dword [eax]
mov dword [esp], eax
call ebx
mov ebx, 0xfffffffe
jmp 0x48dfbc
fstp st(0)
jmp 0x48dfbc
fstp st(0)
fstp st(0)
jmp 0x48dfbc
fstp st(0)
jmp 0x48dfbc
fstp st(0)
fstp st(0)
jmp 0x48dfbc
fstp st(0)
fstp st(0)
jmp 0x48dfbc
fstp st(0)
fstp st(0)
jmp 0x48dfbc
fstp st(0)
fstp st(0)
mov eax, ebx
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret