Function at 0x48d210
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xbc
mov ecx, 0x15
push ebx
mov ebx, dword [esp + 0xd4]
push ebp
push esi
xor esi, esi
xor eax, eax
push edi
lea edi, [esp + 0x24]
cmp ebx, 0x3a
mov dword [esp + 0x20], esi
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x14], esi
mov dword [eax], esi
jbe 0x48d255
pop edi
mov ax, 0x1d10
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
lea edi, [esp + 0x7c]
cmp ebx, esi
je 0x48d264
mov edi, dword [esp + 0xdc]
mov ebp, dword [esp + 0xd0]
push ebp
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x24], ecx
call fcn.0048dd60
sub esp, 0xfffffffc
or al, al
jne 0x48db62
mov eax, dword [ebp]
mov edx, eax
and dl, 0x10
neg dl
sbb edx, edx
and edx, 0x14
sub edx, 0xffddfff4
mov dword [esp + 0x18], edx
and eax, 2
je 0x48d529
test byte [ebp + 0xc], 0x20
je 0x48d529
lea eax, [ebx - 8]
lea esi, [ebx + 8]
shr esi, 4
inc esi
mov dword [esp + 0x10], esi
test al, 0xf
je 0x48d2c6
cmp ebx, 0x3a
jne 0x48d2cb
dec esi
mov dword [esp + 0x10], esi
cmp esi, 4
jbe 0x48d2df
mov ax, 0x1d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
lea ecx, [esp + 0x2e]
push 2
shl esi, 4
push ecx
sub esi, 0xfffffff8
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x30], 8
call fcn.0048cb40
mov cl, byte [edi]
mov al, byte [esp + 0xd8]
mov dl, byte [esp + 0xd4]
mov byte [esp + 0x30], dl
mov dl, byte [edi + 1]
mov byte [esp + 0x31], al
mov al, byte [edi + 2]
mov byte [esp + 0x33], dl
lea edx, [esp + 0x36]
mov byte [esp + 0x32], cl
mov cl, byte [edi + 3]
push 2
push edx
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], cl
call fcn.0048cb40
cmp ebx, 4
jbe 0x48d36d
lea esi, [edi + 4]
lea ecx, [ebx - 4]
mov eax, ecx
shr ecx, 2
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x1c]
sub eax, ebx
and ecx, 3
sub eax, 0xf
or eax, eax
rep movsb byte es:[edi], byte [esi]
jle 0x48d37b
lea ecx, [esp + ebx + 0x34]
push eax
push ecx
jmp 0x48d376
add esi, 0xffffffed
lea edx, [esp + 0x38]
push esi
push edx
call fcn.0048cb40
cmp ebx, 4
jbe 0x48d38b
add bl, 0xfc
and ebx, 0xff
jmp 0x48d38d
xor ebx, ebx
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov byte [esp + edi + 0x25], bl
mov al, byte [esp + 0x36]
mov byte [esp + edi + 0x26], al
mov cl, byte [esp + 0x37]
lea eax, [edx - 1]
cmp eax, 3
mov byte [esp + edi + 0x27], cl
ja case.default.0x48d3b5
jmp dword [eax*4 + 0x48db70]
mov ecx, dword [ebp + 0x30]
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.0048ce90
add esp, 8
xor eax, eax
mov bl, byte [esp + eax + 0x60]
mov dl, byte [esp + eax + 0x50]
xor bl, dl
mov byte [esp + eax + 0x60], bl
inc eax
cmp eax, 0x10
jb 0x48d3cf
mov ecx, dword [ebp + 0x30]
lea eax, [esp + 0x50]
push eax
push ecx
call fcn.0048ce90
add esp, 8
xor ecx, ecx
mov dl, byte [esp + ecx + 0x40]
mov bl, byte [esp + ecx + 0x50]
xor bl, dl
mov byte [esp + ecx + 0x50], bl
inc ecx
cmp ecx, 0x10
jb 0x48d3f6
mov ecx, dword [ebp + 0x30]
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.0048ce90
sub esp, 0xfffffff8
xor ecx, ecx
mov bl, byte [esp + ecx + 0x40]
mov dl, byte [esp + ecx + 0x30]
xor bl, dl
mov byte [esp + ecx + 0x40], bl
inc ecx
cmp ecx, 0x10
jb 0x48d41d
mov ecx, dword [ebp + 0x30]
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.0048ce90
lea edx, [esp + 0x30]
push edx
call fcn.00495b60
mov esi, dword [esp + 0xf0]
sub esp, 0xfffffff4
test esi, esi
lea eax, [esp + 0x14]
push eax
jne 0x48d471
mov edx, dword [esp + 0x1c]
push 0
push 0
lea ecx, [esp + 0x2c]
push 0x58
push ecx
push edx
jmp 0x48d908
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x1c]
push edi
push ecx
lea edx, [esp + 0x2c]
push 0x58
push edx
push eax
call fcn.0048cfe0
mov ebx, eax
sub esp, 0xffffffe8
or bl, bl
je 0x48d4ab
push ebp
call fcn.0048dd90
sub esp, 0xfffffffc
mov ax, bx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
cmp dword [esp + 0x14], edi
je 0x48d4c9
push ebp
call fcn.0048dd90
add esp, 4
mov ax, 0x1d0d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
mov edx, dword [ebp + 0x30]
mov ecx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.0048dff0
add esp, 0xc
mov dword [esp + 0x10], eax
test al, al
jne 0x48db54
lea ecx, [esp + 0x7e]
mov eax, esi
mov edx, dword [esp + 0xec]
xor esi, esi
mov edi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
sub ecx, ebx
mov dword [edx], edi
test edi, edi
jbe 0x48d733
inc esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec edi
cmp esi, 4
jb 0x48d50f
jmp 0x48d733
cmp eax, esi
je 0x48d752
lea eax, [esp + 0x2e]
push 2
push eax
mov dword [esp + 0x2c], 0x48
mov byte [esp + 0x30], 7
call fcn.0048cb40
mov cl, byte [esp + 0xd4]
mov al, byte [edi]
mov dl, byte [esp + 0xd8]
mov byte [esp + 0x30], cl
mov cl, byte [edi + 1]
mov byte [esp + 0x31], dl
mov dl, byte [edi + 2]
mov byte [esp + 0x33], cl
mov byte [esp + 0x32], al
lea ecx, [esp + 0x36]
mov al, byte [edi + 3]
push 2
push ecx
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], al
call fcn.0048cb40
cmp ebx, 4
jbe 0x48d5b7
lea esi, [edi + 4]
lea edi, [esp + 0x38]
lea ecx, [ebx - 4]
mov eax, 0x39
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
sub eax, ebx
mov ecx, edx
and ecx, 3
or eax, eax
rep movsb byte es:[edi], byte [esi]
jle 0x48d5c3
push eax
lea eax, [esp + ebx + 0x38]
push eax
jmp 0x48d5be
lea ecx, [esp + 0x38]
push 0x35
push ecx
call fcn.0048cb40
cmp ebx, 4
jbe 0x48d5d1
add bl, 0xfc
mov byte [esp + 0x6d], bl
jmp 0x48d5d6
mov byte [esp + 0x6d], 0
mov dl, byte [esp + 0x36]
mov al, byte [esp + 0x37]
mov byte [esp + 0x6e], dl
lea ecx, [esp + 0x60]
mov edx, dword [ebp + 0x30]
mov byte [esp + 0x6f], al
push ecx
push edx
call fcn.0048ce90
sub esp, 0xfffffff8
xor eax, eax
mov bl, byte [esp + eax + 0x60]
mov cl, byte [esp + eax + 0x50]
xor bl, cl
mov byte [esp + eax + 0x60], bl
inc eax
cmp eax, 0x10
jb 0x48d5f9
lea edx, [esp + 0x50]
mov eax, dword [ebp + 0x30]
push edx
push eax
call fcn.0048ce90
add esp, 8
xor edi, edi
mov bl, byte [esp + edi + 0x50]
mov cl, byte [esp + edi + 0x40]
xor bl, cl
mov byte [esp + edi + 0x50], bl
inc edi
cmp edi, 0x10
jb 0x48d620
lea edx, [esp + 0x40]
mov eax, dword [ebp + 0x30]
push edx
push eax
call fcn.0048ce90
sub esp, 0xfffffff8
xor eax, eax
mov cl, byte [esp + eax + 0x30]
mov bl, byte [esp + eax + 0x40]
xor bl, cl
mov byte [esp + eax + 0x40], bl
inc eax
cmp eax, 0x10
jb 0x48d647
lea edx, [esp + 0x30]
mov eax, dword [ebp + 0x30]
push edx
push eax
call fcn.0048ce90
lea ebx, [esp + 0x30]
push ebx
call fcn.00495b60
mov esi, dword [esp + 0xf0]
add esp, 0xc
lea edx, [esp + 0x14]
test esi, esi
push edx
je 0x48d8f8
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x80]
push 0x48
push eax
lea ecx, [esp + 0x2c]
push 0x58
push ecx
push edx
call fcn.0048cfe0
add esp, 0x18
mov ebx, eax
test bl, bl
je 0x48d6c5
push ebp
call fcn.0048dd90
mov ax, bx
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret
cmp dword [esp + 0x14], 0x48
je 0x48d6e4
push ebp
call fcn.0048dd90
mov ax, 0x1d0d
sub esp, 0xfffffffc
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret
lea ecx, [esp + 0x7c]
mov eax, dword [ebp + 0x30]
push eax
push ecx
call fcn.0048d090
sub esp, 0xfffffff8
mov dword [esp + 0x10], eax
or al, al
jne 0x48db54
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe8]
mov dword [edx], edi
xor edx, edx
mov eax, esi
lea esi, [esp + 0x7e]
sub esi, ebx
test edi, edi
jbe 0x48d733
mov cl, byte [eax + esi]
mov byte [eax], cl
inc edx
inc eax
dec edi
cmp edx, 4
jb 0x48d722
lea esi, [esp + 0x84]
mov ecx, edi
mov edx, ecx
shr ecx, 2
lea edi, [ebx + 4]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48db54
mov al, byte [ebp + 0xc]
test al, 4
mov dword [esp + 0x24], 8
je 0x48d832
cmp ebx, 4
jbe 0x48d89e
mov cl, byte [esp + 0xd8]
mov al, byte [esp + 0xd4]
mov dl, byte [edi]
mov byte [esp + 0x28], al
mov al, byte [edi + 1]
mov byte [esp + 0x29], cl
mov cl, byte [edi + 2]
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], dl
lea eax, [esp + 0x2e]
mov dl, byte [edi + 3]
push 2
push eax
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], dl
call fcn.0048cb40
mov esi, 4
cmp ebx, esi
jbe 0x48d813
lea ebp, [esp + 0x32]
mov ecx, dword [esp + 0x24]
add ecx, 8
inc esi
push 2
mov dword [esp + 0x28], ecx
mov cl, byte [esi + edi - 1]
mov byte [ebp - 2], cl
mov dl, byte [esi + edi]
mov byte [ebp - 1], dl
inc esi
mov al, byte [esi + edi]
mov byte [ebp], al
inc esi
mov cl, byte [esi + edi]
inc esi
mov byte [ebp + 1], cl
mov dl, byte [esi + edi]
lea ecx, [ebp + 4]
inc esi
mov byte [ebp + 2], dl
push ecx
mov al, byte [esi + edi]
inc esi
mov byte [ebp + 3], al
call fcn.0048cb40
lea eax, [ebp - 2]
push eax
call fcn.00495b60
add esp, 4
sub ebp, 0xfffffff8
cmp esi, ebx
jb 0x48d7b8
mov ebp, dword [esp + 0xd0]
mov esi, 6
mov eax, ebx
xor edx, edx
div esi
mov al, byte [esp + 0x2e]
and al, 0xf9
sub dl, 0xfe
or dl, al
mov byte [esp + 0x2e], dl
jmp 0x48d8db
cmp ebx, 4
jbe 0x48d89e
lea esi, [edi + 6]
mov eax, 0xfffffffe
sub eax, edi
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [ebp]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x78], eax
and al, 0xf3
mov dword [ebp], eax
mov dh, byte [esi + 1]
mov dl, byte [esi]
xor eax, eax
push ecx
mov ah, byte [esi - 1]
mov al, byte [esi - 2]
mov ecx, dword [esp + 0x20]
push edx
lea edx, [ecx + esi - 4]
push eax
push edx
push 3
push ebp
call fcn.0048db80
mov ecx, dword [esp + 0x90]
sub esp, 0xffffffe8
mov dword [esp + 0x10], eax
mov dword [ebp], ecx
test al, al
jne 0x48db54
mov edx, dword [esp + 0x1c]
sub esi, 0xfffffffc
add edx, esi
cmp edx, ebx
jb 0x48d845
mov al, byte [esp + 0xd4]
mov dl, byte [edi]
mov cl, byte [esp + 0xd8]
mov byte [esp + 0x28], al
mov al, byte [edi + 1]
mov byte [esp + 0x29], cl
mov cl, byte [edi + 2]
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], dl
mov dl, byte [edi + 3]
lea eax, [esp + 0x2e]
push 2
push eax
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], dl
call fcn.0048cb40
lea edi, [esp + 0x28]
push edi
call fcn.00495b60
mov esi, dword [esp + 0xe8]
add esp, 4
test esi, esi
jne 0x48d926
lea edx, [esp + 0x14]
push edx
mov ecx, dword [esp + 0x1c]
push 0
push 0
lea eax, [esp + 0x2c]
push 0x58
push eax
push ecx
call fcn.0048cfe0
mov ebx, eax
push ebp
call fcn.0048dd90
mov ax, bx
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret
test byte [ebp + 0xc], 4
je 0x48da42
mov ebx, dword [esp + 0xe8]
cmp ebx, 4
jbe 0x48da42
mov edx, ebx
lea ecx, [esp + 0x7c]
sub edx, 0xfffffff9
mov eax, 0xaaaaaaab
mul edx
mov edi, edx
lea ebx, [esp + 0x14]
push ebx
shr edi, 2
mov eax, dword [esp + 0x1c]
shl edi, 3
push edi
push ecx
lea edx, [esp + 0x2c]
push 0x58
push edx
push eax
call fcn.0048cfe0
mov ebx, eax
sub esp, 0xffffffe8
or bl, bl
je 0x48d990
push ebp
call fcn.0048dd90
sub esp, 0xfffffffc
pop edi
pop esi
mov ax, bx
pop ebp
pop ebx
add esp, 0xbc
ret
cmp dword [esp + 0x14], edi
je 0x48d9ae
push ebp
call fcn.0048dd90
mov ax, 0x1d0d
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret
lea ecx, [esp + 0x7c]
push 0
push ecx
call fcn.0048d090
add esp, 8
test al, al
mov dword [esp + 0x10], eax
jne 0x48db54
mov al, byte [esp + 0x7f]
mov ebx, 8
mov edi, 4
mov dl, byte [esp + 0x7e]
mov cl, byte [esp + 0x80]
mov byte [esi + 2], cl
mov ecx, dword [esp + 0xe8]
mov byte [esi], dl
mov dl, byte [esp + 0x81]
cmp ecx, edi
mov byte [esi + 1], al
mov byte [esi + 3], dl
jbe 0x48da34
mov eax, ebx
and eax, 7
mov dword [esp + 0x78], eax
jne 0x48da22
lea eax, [esp + ebx + 0x7c]
push eax
call fcn.00495b60
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x7c]
sub esp, 0xfffffffc
cmp eax, 6
jae 0x48da2f
mov dl, byte [esp + ebx + 0x7c]
mov byte [edi + esi], dl
inc edi
inc ebx
cmp edi, ecx
jb 0x48d9ff
mov eax, dword [esp + 0xec]
mov dword [eax], ecx
jmp 0x48db54
lea eax, [esp + 0x14]
lea edx, [esp + 0x7c]
push eax
mov ecx, dword [esp + 0x1c]
push 8
push edx
lea eax, [esp + 0x2c]
push 0x58
push eax
push ecx
call fcn.0048cfe0
mov ebx, eax
sub esp, 0xffffffe8
test bl, bl
je 0x48da7f
push ebp
call fcn.0048dd90
mov ax, bx
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret
cmp dword [esp + 0x14], 8
je 0x48da90
mov dword [esp + 0x10], 0x1d0d
jmp 0x48daa3
lea edx, [esp + 0x7c]
push 0
push edx
call fcn.0048d090
add esp, 8
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x10]
test al, al
jne 0x48db54
xor ecx, ecx
mov eax, esi
lea edi, [esp + 0x7e]
mov ebx, dword [esp + 0xec]
sub edi, esi
mov edx, dword [esp + 0xe8]
or edx, edx
jbe 0x48daeb
mov dl, byte [eax + edi]
mov byte [eax], dl
mov edx, dword [ebx]
inc edx
mov dword [ebx], edx
mov edx, dword [esp + 0xe8]
inc ecx
inc eax
dec edx
cmp ecx, 4
mov dword [esp + 0xe8], edx
jb 0x48dac0
xor ebx, ebx
add esi, 4
cmp ebx, dword [esp + 0xe8]
jae 0x48db54
lea ecx, [esp + 0x7c]
mov edi, dword [ebp]
push ecx
push 0
push 0
mov eax, edi
and al, 0xf3
push ebx
push 2
push ebp
mov dword [ebp], eax
call fcn.0048db80
add esp, 0x18
mov dword [esp + 0x10], eax
test al, al
mov dword [ebp], edi
jne 0x48db54
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
cmp eax, ecx
jae 0x48db49
mov dl, byte [esp + eax + 0x7e]
mov byte [esi + eax], dl
mov edx, dword [edi]
inc edx
mov dword [edi], edx
inc eax
cmp eax, 4
jb 0x48db33
sub ebx, 0xfffffffc
sub esi, 0xfffffffc
cmp ebx, 0x40
jb 0x48daf0
push ebp
call fcn.0048dd90
mov ax, word [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
sub esp, 0xffffff44
ret