Function at 0x48e305
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.0x48e334.45
jmp dword [ebx*4 + 0x68d7a0]
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
cmp edx, eax
je 0x48e39e
cmp edx, 0x1e
je 0x48e39e
cmp edx, 3
je 0x48e39e
cmp edx, 0x20
je 0x48e39e
cmp edx, 0x1f
je 0x48e39e
cmp edx, 0x22
je 0x48e39e
cmp edx, 0x21
je 0x48e39e
cmp edx, 0x24
je 0x48e39e
cmp edx, 0x23
je 0x48e39e
cmp edx, 0x26
je 0x48e39e
cmp edx, 0x25
je 0x48e39e
cmp edx, 0x28
je 0x48e39e
cmp edx, 0x27
je 0x48e39e
cmp edx, 0x2a
je 0x48e39e
mov ebx, 0xfffffffe
cmp edx, 0x29
jne 0x48f21c
mov edx, esi
mov eax, edi
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048c8cc
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
mov ebx, 0xfffffffe
cmp edx, 0xc
jne 0x48f21c
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 0x48e44e
test ecx, ecx
jne 0x48e445
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jp 0x48e436
mov ebx, 0
je 0x48f1f8
fldz
fucompp
fnstsw ax
sahf
setbe bl
jmp 0x48ed69
fstp st(0)
mov ebx, ecx
jmp 0x48ed93
jle 0x48e475
test ecx, ecx
js 0x48e46a
mov ebx, 1
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
jae 0x48f21c
jmp 0x48e46c
fstp st(0)
neg ecx
mov ebx, 1
jmp 0x48e493
test ecx, ecx
jg 0x48e48b
or ebx, 0xffffffff
fldz
fucompp
fnstsw ax
sahf
jae 0x48f21c
jmp 0x48e48d
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 0x48e4d1
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 0x48e4da
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 + 0x68dc90]
add esi, dword [edx*4 + 0x68dcc0]
cmp esi, ecx
jne 0x48e4fe
cmp esi, edi
je 0x48e516
cmp esi, ecx
jge 0x48e509
neg ebx
jmp 0x48f21c
cmp edi, ecx
jg 0x48f21c
jmp 0x48f11b
xor ebx, ebx
jmp 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
cmp edx, 4
je 0x48e55e
cmp edx, 0xb
je 0x48e55e
cmp edx, 6
je 0x48e55e
cmp edx, 5
je 0x48e55e
cmp edx, 8
je 0x48e55e
cmp edx, 7
je 0x48e55e
cmp edx, 9
je 0x48e55e
mov ebx, 0xfffffffe
cmp edx, 0xa
jne 0x48f21c
test byte [edi + 0x18], 1
mov al, byte [esi + 0x18]
je 0x48e797
test al, 1
jne 0x48e9e1
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, edi
call fcn.0048dcd5
mov edx, eax
mov dword [ebp - 0x30], edx
call fcn.0048ca85
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.0048dcd5
mov dword [ebp - 0x24], eax
call fcn.0048ca85
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 0x48e5ec
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov dword [esp], ebx
jmp 0x48e682
jne 0x48e787
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 0x48e68c
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 0x48f113
mov dword [esp], 0
mov dword [esp + 4], 0xc0e89c00
mov eax, esi
mov dword [ebp - 0x30], edx
fstp qword [ebp - 0x48]
call fcn.0048dcd5
mov ecx, eax
mov dword [ebp - 0x34], ecx
call fcn.0048ca85
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 0x48e760
mov bl, 0
jne 0x48e764
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 0x48e766
fstp st(0)
jmp 0x48e766
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 0x48e9bd
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x24]
jmp 0x48e9d9
test al, 1
je 0x48e9e1
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, esi
call fcn.0048dcd5
mov edx, eax
mov dword [ebp - 0x30], edx
call fcn.0048ca85
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.0048dcd5
mov ecx, eax
mov dword [ebp - 0x34], ecx
call fcn.0048ca85
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 0x48e817
mov dword [esp], ecx
jmp 0x48e8a6
jne 0x48e9cb
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 0x48e8b3
fstp st(0)
mov dword [esp], ecx
mov dword [ebp - 0x30], edx
call sym.evasi0n_gui.exe_xmlSchemaFreeValue
mov edx, dword [ebp - 0x30]
jmp 0x48e67f
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.0048dcd5
mov dword [ebp - 0x24], eax
call fcn.0048ca85
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 0x48e99b
mov bl, 0
jne 0x48e99f
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 0x48e9a1
fstp st(0)
jmp 0x48e9a1
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 0x48e9e1
jmp 0x48f21c
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 0x48eafb
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, esi
call fcn.0048dcd5
mov esi, eax
call fcn.0048ca85
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.0048dcd5
mov edi, eax
call fcn.0048ca85
mov edx, dword [edi + 0xc]
shr dx, 4
and edx, 0x1f
lea edx, [eax + edx]
or ebx, 0xffffffff
cmp edx, dword [ebp - 0x24]
jl 0x48eae6
mov ebx, 1
jg 0x48eae6
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 0x48eae2
fxch st(1)
fucompp
fnstsw ax
xor ebx, ebx
sahf
seta bl
jmp 0x48eae6
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 0x48f21c
lea ebx, [ecx - 4]
xor eax, eax
cmp ebx, 7
ja 0x48eb0b
mov al, byte [ecx + 0x68dd84]
lea ebx, [edx - 4]
xor ecx, ecx
cmp ebx, 7
ja 0x48eb1b
mov cl, byte [edx + 0x68dd8c]
mov dl, cl
xor edx, eax
movzx edx, dl
mov ebx, 2
test dl, 1
jne 0x48f21c
and eax, ecx
movzx eax, al
test al, 1
je 0x48eb53
or ebx, 0xffffffff
mov ecx, dword [esi + 8]
cmp dword [edi + 8], ecx
jl 0x48f21c
mov ebx, 1
jg 0x48f21c
mov ebx, 2
test dl, 2
jne 0x48f21c
test al, 2
je 0x48eb8b
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 0x48f21c
mov ebx, 1
jg 0x48f21c
mov ebx, 2
test dl, 4
jne 0x48f21c
test al, 4
je 0x48ebcf
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 0x48f21c
mov ebx, 1
jg 0x48f21c
mov ebx, 2
and dl, 8
jne 0x48f21c
xor bl, bl
test al, 8
je 0x48f21c
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 0x48f21c
mov ebx, 1
jg 0x48f21c
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 0x48f21c
mov ebx, 1
jg 0x48f21c
fld qword [edi + 0x10]
fld qword [esi + 0x10]
or ebx, 0xffffffff
fucom st(1)
fnstsw ax
sahf
ja 0x48f1fc
fxch st(1)
fucompp
fnstsw ax
sahf
seta bl
jmp 0x48f037
test edi, edi
je 0x48ec64
mov edi, dword [edi + 8]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x2c]
test esi, esi
je 0x48ec6e
mov eax, dword [esi + 8]
cmp edx, 0x15
jne 0x48ec8c
call sym.evasi0n_gui.exe___xmlGenericError
mov ebx, dword [eax]
call sym.evasi0n_gui.exe___xmlGenericErrorContext
mov dword [esp + 0xc], 0x12a8
jmp 0x48f1da
cmp edx, 1
je 0x48eccc
cmp edx, 0x2e
je 0x48eccc
cmp edx, 0x10
je 0x48eccc
cmp edx, 2
je 0x48eccc
cmp edx, 0x12
je 0x48eccc
cmp edx, 0x11
je 0x48eccc
cmp edx, 0x16
je 0x48eccc
cmp edx, 0x14
je 0x48eccc
cmp edx, 0x18
je 0x48eccc
cmp edx, 0x17
je 0x48eccc
cmp edx, 0x1d
je 0x48eccc
cmp edx, 0x1a
jne case.0x48e334.45
cmp dword [ebp - 0x28], 1
jne 0x48ed0e
cmp ecx, 1
jne 0x48ece6
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x24]
mov dword [esp], edx
jmp 0x48efa2
cmp ecx, 2
jne 0x48ecf4
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48ed20
mov ebx, 0xfffffffe
cmp ecx, 3
jne 0x48f21c
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48ee04
cmp dword [ebp - 0x28], 2
jne 0x48eded
cmp ecx, 1
jne 0x48ed2c
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048cb4d
cmp ecx, 2
je 0x48edb6
jmp 0x48edd6
lea esi, [ecx - 9]
mov ebx, esi
cmp bl, 1
jbe 0x48ed4e
cmp cl, 0x20
je 0x48ed4e
cmp cl, 0xd
jne 0x48ed75
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48edb2
cmp dl, 0x20
je 0x48edb2
cmp dl, 0xd
je 0x48edb2
movzx edx, dl
cmp edx, 0x1f
setg bl
movzx ebx, bl
lea ebx, [ebx + ebx - 1]
jmp 0x48f21c
lea esi, [edx - 9]
mov ebx, esi
cmp bl, 1
jbe 0x48ed89
cmp dl, 0x20
je 0x48ed89
cmp dl, 0xd
jne 0x48ed9b
movzx ecx, cl
mov ebx, 0x20
sub ebx, ecx
sar ebx, 0x1f
jmp 0x48f156
movzx edx, dl
movzx ecx, cl
sub edx, ecx
cmp edx, 0
jl 0x48f113
jne 0x48ef49
inc edi
inc eax
jmp 0x48edb9
mov edi, dword [ebp - 0x24]
mov dl, byte [edi]
test dl, dl
jne 0x48edc7
cmp byte [eax], 1
jmp 0x48f1a4
mov cl, byte [eax]
test cl, cl
jne 0x48ed3a
jmp 0x48ef49
mov ebx, 0xfffffffe
cmp ecx, 3
jne 0x48f21c
xor cl, cl
mov edx, eax
mov eax, dword [ebp - 0x24]
jmp 0x48ee1a
mov ebx, 0xfffffffe
cmp dword [ebp - 0x28], 3
jne 0x48f21c
cmp ecx, 1
jne 0x48ee10
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048cbc3
cmp ecx, 2
jne 0x48ee26
mov cl, 1
mov edx, dword [ebp - 0x24]
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
jmp fcn.0048cc82
cmp ecx, 3
jne 0x48f21c
mov ecx, dword [ebp - 0x24]
jmp 0x48ee35
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48ee34
cmp dl, 0x20
je 0x48ee34
cmp dl, 0xd
je 0x48ee34
mov dword [ebp - 0x24], ecx
jmp 0x48ee4f
inc eax
mov dl, byte [eax]
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48ee4e
cmp dl, 0x20
je 0x48ee4e
cmp dl, 0xd
je 0x48ee4e
mov ecx, dword [ebp - 0x24]
jmp 0x48eee5
lea esi, [ebx - 9]
mov edx, esi
cmp dl, 1
jbe 0x48ee7c
cmp bl, 0x20
je 0x48ee7c
cmp bl, 0xd
jne 0x48eecd
lea esi, [edi - 9]
mov edx, esi
cmp dl, 1
jbe 0x48eea0
mov edx, edi
cmp dl, 0x20
je 0x48eea0
cmp dl, 0xd
je 0x48eea0
movzx ebx, bl
movzx edx, dl
sub ebx, edx
jmp 0x48f21c
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48ee9f
cmp dl, 0x20
je 0x48ee9f
cmp dl, 0xd
je 0x48ee9f
jmp 0x48eeb7
inc eax
mov dl, byte [eax]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48eeb6
cmp dl, 0x20
je 0x48eeb6
cmp dl, 0xd
je 0x48eeb6
jmp 0x48eee5
movzx ebx, bl
and edi, 0xff
sub ebx, edi
cmp ebx, 0
jl 0x48f113
jne 0x48ef49
inc ecx
inc eax
mov bl, byte [ecx]
test bl, bl
je 0x48ef1f
movzx edi, byte [eax]
mov edx, edi
test dl, dl
jne 0x48ee68
mov dword [ebp - 0x24], ecx
jmp 0x48eefe
inc ecx
mov dl, byte [ecx]
lea ebx, [edx - 9]
cmp bl, 1
jbe 0x48eefd
cmp dl, 0x20
je 0x48eefd
cmp dl, 0xd
je 0x48eefd
mov ebx, 1
test dl, dl
jne 0x48f21c
xor ebx, ebx
cmp byte [eax], 0
je 0x48f21c
jmp 0x48ef2d
inc eax
mov dl, byte [eax]
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x48ef2c
cmp dl, 0x20
je 0x48ef2c
cmp dl, 0xd
je 0x48ef2c
cmp dl, 1
jmp 0x48f1a4
mov ebx, 1
jmp 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
cmp edx, 0x1c
je 0x48ef76
mov ebx, 0xfffffffe
cmp edx, 0x15
jne 0x48f21c
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 0x48f21c
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 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
sub edx, 0xd
mov ebx, 0xfffffffe
cmp edx, 1
ja 0x48f21c
mov eax, dword [edi]
cmp eax, 0xe
jne 0x48efe1
fld qword [edi + 8]
jmp 0x48efed
cmp eax, 0xd
jne 0x48f21c
fld dword [edi + 8]
mov eax, dword [esi]
cmp eax, 0xe
jne 0x48effb
fld qword [esi + 8]
fxch st(1)
jmp 0x48f00e
mov ebx, 0xfffffffe
cmp eax, 0xd
jne 0x48f202
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 0x48f03f
fstp st(0)
fstp qword [esp]
call sym.evasi0n_gui.exe_xmlXPathIsNaN
test eax, eax
sete bl
movzx ebx, bl
jmp 0x48f21c
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 0x48f206
fld qword [sym.evasi0n_gui.exe_xmlXPathPINF]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jp 0x48f087
jne 0x48f08b
fstp st(0)
fxch st(1)
mov bl, 1
fucompp
fnstsw ax
sahf
jp 0x48f080
je 0x48f082
xor ebx, ebx
xor ebx, 1
jmp 0x48f037
fxch st(2)
jmp 0x48f08d
fxch st(2)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jp 0x48f0a1
mov ebx, 0xffffffff
je 0x48f20c
fld qword [sym.evasi0n_gui.exe_xmlXPathNINF]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
jp 0x48f0c8
jne 0x48f0cc
fstp st(0)
fucompp
fnstsw ax
sahf
jp 0x48f113
mov ebx, 0
je 0x48f21c
jmp 0x48f113
fxch st(1)
jmp 0x48f0ce
fxch st(1)
fucom st(2)
fnstsw ax
fstp st(2)
sahf
jp 0x48f0e6
mov ebx, 1
je 0x48f212
fxch st(1)
jmp 0x48f0e8
fxch st(1)
or ebx, 0xffffffff
fucom st(1)
fnstsw ax
sahf
ja 0x48f218
fxch st(1)
mov ebx, 1
fucompp
fnstsw ax
sahf
ja 0x48f21c
jp 0x48f11b
mov bl, 0
jne 0x48f11b
jmp 0x48f21c
or ebx, 0xffffffff
jmp 0x48f21c
mov ebx, 2
jmp 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
mov ebx, 0xfffffffe
cmp edx, 0xf
jne 0x48f21c
mov eax, dword [edi + 8]
xor ebx, ebx
cmp eax, dword [esi + 8]
je 0x48f21c
cmp eax, 1
sbb ebx, ebx
or ebx, 1
jmp 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
mov ebx, 0xfffffffe
cmp edx, 0x2b
jne 0x48f21c
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0xc]
cmp eax, edx
jne 0x48f1bc
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 0x48f21c
cmp eax, 1
sbb ebx, ebx
not ebx
jmp 0x48f21c
test esi, esi
je case.0x48e334.45
test edi, edi
je case.0x48e334.45
mov ebx, 0xfffffffe
cmp edx, 0x2c
jmp 0x48f176
cmp edx, eax
sbb ebx, ebx
and ebx, 2
dec ebx
jmp 0x48f21c
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], 0x68d45a
mov eax, dword [eax]
mov dword [esp], eax
call ebx
mov ebx, 0xfffffffe
jmp 0x48f21c
fstp st(0)
jmp 0x48f21c
fstp st(0)
fstp st(0)
jmp 0x48f21c
fstp st(0)
jmp 0x48f21c
fstp st(0)
fstp st(0)
jmp 0x48f21c
fstp st(0)
fstp st(0)
jmp 0x48f21c
fstp st(0)
fstp st(0)
jmp 0x48f21c
fstp st(0)
fstp st(0)
mov eax, ebx
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret