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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, edi
sub eax, 0
je 0x100fc3aa
dec eax
je 0x100fc399
dec eax
je 0x100fc36d
dec eax
je 0x100fc329
dec eax
je 0x100fc2a8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push ebx
push 0x20
pop edx
jmp 0x100fb350
mov esi, dword [eax]
cmp esi, dword [ecx]
je 0x100faf98
movzx esi, byte [eax]
movzx ebx, byte [ecx]
sub esi, ebx
je 0x100faf41
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 1]
movzx ebx, byte [ecx + 1]
sub esi, ebx
je 0x100faf60
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 2]
movzx ebx, byte [ecx + 2]
sub esi, ebx
je 0x100faf7f
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 3]
movzx ebx, byte [ecx + 3]
sub esi, ebx
je 0x100faf9a
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100faf9a
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 4]
cmp esi, dword [ecx + 4]
je 0x100fb020
movzx esi, byte [eax + 4]
movzx ebx, byte [ecx + 4]
sub esi, ebx
je 0x100fafc9
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 5]
movzx ebx, byte [ecx + 5]
sub esi, ebx
je 0x100fafe8
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 6]
movzx ebx, byte [ecx + 6]
sub esi, ebx
je 0x100fb007
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 7]
movzx ebx, byte [ecx + 7]
sub esi, ebx
je 0x100fb022
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb022
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 8]
cmp esi, dword [ecx + 8]
je 0x100fb0a8
movzx esi, byte [eax + 8]
movzx ebx, byte [ecx + 8]
sub esi, ebx
je 0x100fb051
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 9]
movzx ebx, byte [ecx + 9]
sub esi, ebx
je 0x100fb070
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0xa]
movzx ebx, byte [ecx + 0xa]
sub esi, ebx
je 0x100fb08f
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0xb]
movzx ebx, byte [ecx + 0xb]
sub esi, ebx
je 0x100fb0aa
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb0aa
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 0xc]
cmp esi, dword [ecx + 0xc]
je 0x100fb130
movzx esi, byte [eax + 0xc]
movzx ebx, byte [ecx + 0xc]
sub esi, ebx
je 0x100fb0d9
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0xd]
movzx ebx, byte [ecx + 0xd]
sub esi, ebx
je 0x100fb0f8
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0xe]
movzx ebx, byte [ecx + 0xe]
sub esi, ebx
je 0x100fb117
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0xf]
movzx ebx, byte [ecx + 0xf]
sub esi, ebx
je 0x100fb132
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb132
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 0x10]
cmp esi, dword [ecx + 0x10]
je 0x100fb1b8
movzx ebx, byte [ecx + 0x10]
movzx esi, byte [eax + 0x10]
sub esi, ebx
je 0x100fb161
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x11]
movzx ebx, byte [ecx + 0x11]
sub esi, ebx
je 0x100fb180
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x12]
movzx ebx, byte [ecx + 0x12]
sub esi, ebx
je 0x100fb19f
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x13]
movzx ebx, byte [ecx + 0x13]
sub esi, ebx
je 0x100fb1ba
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb1ba
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 0x14]
cmp esi, dword [ecx + 0x14]
je 0x100fb240
movzx esi, byte [eax + 0x14]
movzx ebx, byte [ecx + 0x14]
sub esi, ebx
je 0x100fb1e9
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x15]
movzx ebx, byte [ecx + 0x15]
sub esi, ebx
je 0x100fb208
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x16]
movzx ebx, byte [ecx + 0x16]
sub esi, ebx
je 0x100fb227
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x17]
movzx ebx, byte [ecx + 0x17]
sub esi, ebx
je 0x100fb242
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb242
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 0x18]
cmp esi, dword [ecx + 0x18]
je 0x100fb2c8
movzx esi, byte [eax + 0x18]
movzx ebx, byte [ecx + 0x18]
sub esi, ebx
je 0x100fb271
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x19]
movzx ebx, byte [ecx + 0x19]
sub esi, ebx
je 0x100fb290
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x1a]
movzx ebx, byte [ecx + 0x1a]
sub esi, ebx
je 0x100fb2af
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x1b]
movzx ebx, byte [ecx + 0x1b]
sub esi, ebx
je 0x100fb2ca
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb2ca
xor esi, esi
test esi, esi
jne 0x100fb36c
mov esi, dword [eax + 0x1c]
cmp esi, dword [ecx + 0x1c]
je 0x100fb344
movzx esi, byte [eax + 0x1c]
movzx ebx, byte [ecx + 0x1c]
sub esi, ebx
je 0x100fb2f5
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x1d]
movzx ebx, byte [ecx + 0x1d]
sub esi, ebx
je 0x100fb310
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x1e]
movzx ebx, byte [ecx + 0x1e]
sub esi, ebx
je 0x100fb32b
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax + 0x1f]
movzx ebx, byte [ecx + 0x1f]
sub esi, ebx
je 0x100fb346
xor ebx, ebx
test esi, esi
setg bl
lea esi, [ebx + ebx - 1]
jmp 0x100fb346
xor esi, esi
test esi, esi
jne 0x100fb36c
add eax, edx
add ecx, edx
sub edi, edx
cmp edi, edx
jae 0x100faf1e
add eax, edi
add ecx, edi
cmp edi, 0x1f
ja case.0x100fb365.0
jmp dword [edi*4 + 0x100fc3b2]
push ecx
push ebx
mov ebx, dword [esp + 0xc]
mov eax, 0x40000
add byte [eax], al
add al, 0
add byte [eax], al
add al, 0
push edi
mov dword [esp + 8], eax
test eax, eax
jne 0x100fb386
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebx + 0x5c]
call eax
mov edi, eax
test edi, edi
je 0x100fb4af
push dword [esp + 8]
push edi
call fcn.100fbeec
add esp, 8
lea eax, [esp + 8]
push eax
push dword [esp + 0xc]
mov eax, dword [ebx + 0x54]
push edi
push 5
call eax
test eax, eax
je 0x100fb3c7
mov eax, dword [esp + 8]
add eax, eax
jmp 0x100fb378
mov eax, dword [ebx + 0x78]
push ebp
push 0x9c
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebx + 0x5c]
call eax
cmp dword [edi], 0
mov ebp, eax
mov dword [esp + 0x14], ebp
je 0x100fb4ae
push esi
nop dword [eax]
pop ds
invalid
pop ds
add byte [ebx + 0xf003c7f], al
test byte [eax + eax - 0x63980000], ch
add byte [eax], al
add byte [ebp - 0x18], dl
jmp 0x100fb409
cmp dword [edi + 0x3c], 0
je 0x100fb4a2
push 0x9c
push ebp
call fcn.100fbeec
mov ecx, dword [edi + 0x3c]
lea edx, [ebp + 6]
add esp, 8
xor esi, esi
sub ebp, ecx
lea eax, [ecx + 2]
or byte [ebx], dh
imul byte [ebx]
jmp 0x1f11f59f
movzx ecx, word [eax - 2]
test cx, cx
je 0x100fb46e
mov word [edx - 6], cx
movzx ecx, word [eax]
test cx, cx
je 0x100fb46e
mov word [eax + ebp], cx
movzx ecx, word [eax + 2]
test cx, cx
je 0x100fb46e
mov word [edx - 2], cx
movzx ecx, word [eax + 4]
test cx, cx
je 0x100fb46e
mov word [edx], cx
movzx ecx, word [eax + 6]
test cx, cx
je 0x100fb46e
mov word [edx + 2], cx
movzx ecx, word [eax + 8]
test cx, cx
je 0x100fb46e
mov word [edx + 4], cx
add esi, 6
add eax, 0xc
add edx, 0xc
cmp esi, 0x9c
jb 0x100fb411
mov ebp, dword [esp + 0x18]
push ebp
push ebp
sbb byte [ebp + 0x55], dl
call fcn.100fbe9c
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + 0x58]
push eax
push ebp
call fcn.100fbcdc
mov ecx, dword [ebx + 0x78]
mov edx, eax
add esp, 0x10
cmp edx, dword [ecx + 0x34]
je 0x100fb49b
mov eax, dword [ebx + 0x78]
cmp edx, dword [eax + 0x10]
jne 0x100fb4a2
mov eax, dword [esp + 0x1c]
mov byte [eax], 1
add edi, dword [edi]
cmp dword [edi], 0
jne 0x100fb3ec
pop esi
pop ebp
pop edi
pop ebx
pop ecx
ret
xor eax, eax
cmp byte [edx], al
je 0x100fb4f9
inc eax
cmp byte [edx + eax], 0
jne 0x100fb4f2
stc
stc
xor esi, esi
xor edi, edi
test eax, eax
je 0x100fb517
movsx cx, byte [edx + edi]
inc edi
imul esi, ebp
movzx ecx, cx
add esi, ecx
cmp edi, eax
jb 0x100fb501
mov ecx, dword [esp + 0x10]
cmp esi, dword [esp + 0x28]
je 0x100fb532
inc ebx
add edx, 0x8a
cmp ebx, ecx
jb 0x100fb4ec
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
imul edx, ebx, 0x8a
pop edi
pop esi
pop ebp
pop ebx
add edx, dword [esp + 4]
mov ecx, dword [edx + 0x86]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + 0x82]
add ecx, 0xee4
add eax, ecx
add esp, 8
ret
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x10]
push ebp
adc byte [ebx + 0x558901ea], al
adc byte [ebx + 0x7400fc7d], al
push ds
push ebp
adc byte [ebx + 0x558901ea], al
adc byte [ebx + 0x7400fc7d], al
push ds
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x100fb578
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [edx + ebx*4]
xor eax, eax
add edx, ebp
cmp byte [edx], al
je 0x100fb613
nop dword [eax + eax]
inc eax
cmp byte [eax + edx], 0
jne 0x100fb60c
xor esi, esi
xor edi, edi
test eax, eax
je 0x100fb634
nop
movsx cx, byte [edi + edx]
inc edi
imul esi, dword [esp + 0x28]
movzx ecx, cx
add esi, ecx
cmp edi, eax
jb 0x100fb61c
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movzx eax, word [eax + ebx*2]
mov eax, dword [edx + eax*4]
add eax, ebp
cmp dword [esp + 0x24], esi
je 0x100fb656
mov edx, dword [esp + 0x18]
inc ebx
cmp ebx, ecx
jb 0x100fb5fc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
clc
push ecx
mov dword [esp + 0x2c], edi
call esi
mov ecx, dword [0x101631f4]
mov esi, eax
push ecx
mov ecx, dword [0x101631e8]
push ecx
push edi
mov dword [esp + 0x4c], esi
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
push ecx
mov ecx, dword [0x101631c8]
push ecx
push edi
mov dword [esp + 0x50], eax
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
push ecx
mov ecx, dword [0x101631d4]
push ecx
push edi
mov dword [esp + 0x58], eax
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
push ecx
mov ecx, dword [str.WU]
push ecx
push edi
mov dword [esp + 0x6c], eax
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
push ecx
mov ecx, dword [0x101631d8]
push ecx
push esi
mov dword [esp + 0x84], eax
and al, 0x84
add byte [eax], al
add al, ch
test eax, 0x8bfffffe
invalid
dec dword [ebx + 0x1631f40d]
invalid
and al, 0x84
add byte [eax], al
add al, ch
test eax, 0x8bfffffe
invalid
dec dword [ebx + 0x1631f40d]
invalid
invalid
mov ebp, eax
push ecx
mov ecx, dword [0x101631c0]
push ecx
push edi
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
add esp, 0x48
mov ebx, eax
push ecx
mov ecx, dword [0x101631e4]
push ecx
push edi
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
push ecx
mov ecx, dword [0x1016319c]
push ecx
push edi
mov dword [esp + 0x30], eax
call fcn.100fb5bc
mov ecx, dword [0x101631f4]
mov edi, eax
push ecx
mov ecx, dword [0x101631ec]
push ecx
push esi
call fcn.100fb5bc
add esp, 0x24
mov esi, eax
push 0x84
push 0x40
call dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [edx], ebp
mov ebp, edx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x48]
mov dword [edx + 0x20], esi
mov esi, dword [esp + 0x18]
mov dword [edx + 0x64], ecx
mov dword [edx + 0x5c], esi
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x68], eax
mov eax, dword [0x101631f4]
push eax
mov eax, dword [0x101631e0]
push eax
push ecx
call fcn.100fb5bc
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x78], 0x1016319c
mov ebx, dword [0x101631cc]
mov eax, dword [0x101631f4]
push eax
mov eax, dword [0x101631b4]
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x60], ebx
call fcn.100fb5bc
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x2f]
push eax
push ebp
mov byte [esp + 0x37], 0
call 0x100fb36c
add esp, 0x20
cmp byte [esp + 0x17], 0
je 0x100fb855
mov edi, 0xb
add byte [eax], al
mov esi, dword [ebp]
lea eax, [esp + 0x50]
push 8
push eax
call fcn.100fbeec
add esp, 8
mov dword [esp + 0x50], 0xfd050f80
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0xffffffff
push eax
push 0
call esi
sub edi, 1
jne 0x100fb821
mov esi, dword [esp + 0x18]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
push edi
push 0x40
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0
call esi
mov ecx, dword [esp + 0x48]
mov esi, eax
push edi
add ecx, 8
push ecx
push esi
call fcn.100fb56c
add esp, 0xc
xor eax, eax
test edi, edi
je 0x100fb89b
xor dword [eax + esi], ebx
add eax, 4
cmp eax, edi
jb 0x100fb891
push 0x20a
push 0x40
call dword [esp + 0x20]
mov cl, byte [esi]
mov edi, eax
test cl, cl
je 0x100fb8c4
mov edx, edi
movsx ax, cl
lea esi, [esi + 1]
lea edx, [edx + 2]
mov word [edx - 2], ax
mov cl, byte [esi]
test cl, cl
jne 0x100fb8b0
mov eax, dword [ebp + 0x5c]
push 0x20a
push 0x40
call eax
mov ecx, dword [ebp + 0x28]
mov esi, eax
push 0x105
push esi
push 0
call ecx
xor ecx, ecx
cmp word [esi], cx
je 0x100fb8f4
nop word [eax + eax]
inc ecx
cmp word [esi + ecx*2], 0
jne 0x100fb8ec
cmp word [esi + ecx*2], 0x5c
lea eax, [esi + ecx*2]
je 0x100fb90f
xor edx, edx
lea ecx, [ecx - 1]
mov word [eax], dx
lea eax, [esi + ecx*2]
cmp word [eax], 0x5c
jne 0x100fb8fe
push edi
push esi
call fcn.100fbd6c
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
push ebp
push esi
call fcn.100fbe0c
add esp, 0x18
test al, al
je 0x100fbac9
invalid
xchg edi, eax
add dword [eax], eax
invalid
test byte [edi + 0x55000001], dl
push ebp
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x34]
push dword [esp + 0x3c]
call fcn.100fbb2c
add esp, 0x10
test al, al
je 0x100fbac9
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 0x5c]
mov ebx, dword [edi + 0xc]
mov esi, dword [edi + 8]
push ebx
push 0x40
call eax
mov dword [esp + 0x28], eax
lea ecx, [edi + 0x10]
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
mov eax, dword [ebp + 0x20]
push esi
push ecx
push ebx
mov ebx, dword [esp + 0x38]
push ebx
push 2
call eax
test eax, eax
jne 0x100fbac9
xor ecx, ecx
cmp byte [ebx + 0x90], al
je 0x100fb9aa
nop dword [eax + eax]
inc eax
cmp byte [ebx + eax + 0x90], cl
jne 0x100fb99c
test eax, eax
jne 0x100fb9b0
mov ecx, dword [ebx + 0x160]
mov eax, dword [ebx + 8]
add eax, 0x3dd
fld qword [ebx]
add byte [eax], al
fld qword [ebx]
add byte [eax], al
mov dword [esp + 0x1c], 0
add eax, ebx
add ecx, eax
mov eax, dword [0x101631f4]
push eax
mov eax, dword [0x101631bc]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x50], ecx
push eax
push ecx
push ebp
call fcn.100fb4bc
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov dword [esp + 0x40], eax
push 0x20a
push 0x40
call edi
mov esi, eax
lea ecx, [ebx + 0xf4]
push esi
push ecx
call fcn.100fbadc
xor ecx, ecx
add esp, 8
cmp word [esi], cx
je 0x100fba15
inc ecx
cmp word [esi + ecx*2], 0
jne 0x100fba0d
cmp word [esi + ecx*2], 0x5c
je 0x100fba24
dec ecx
cmp word [esi + ecx*2], 0x5c
jne 0x100fba1c
lea ecx, [ecx + 1]
lea eax, [esi + ecx*2]
push eax
push ebp
call fcn.100fbd1c
mov esi, dword [esp + 0x24]
add esp, 8
mov ecx, dword [eax + 0x3c]
push esi
push 0x40
mov ebx, dword [ecx + eax + 0x2c]
add ebx, eax
call edi
push esi
mov edi, eax
push ebx
push edi
call fcn.100fb56c
mov ebp, dword [esp + 0x50]
mov eax, edi
mov edi, dword [esp + 0x54]
add esp, 0xc
cdq
mov dword [edi + 0xcc0], eax
lea eax, [esp + 0x20]
push eax
mov dword [edi + 0xcc4], edx
mov eax, dword [0x101631f0]
mov esi, dword [esp + 0x20]
push eax
push esi
push ebx
mov dword [esp + 0x30], 0
call ebp
push esi
push dword [esp + 0x44]
push ebx
call fcn.100fb56c
add esp, 0xc
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
push esi
push ebx
call ebp
mov eax, dword [0x101631f0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x30]
push edi
push eax
mov dword [esp + 0x70], ebx
invalid
jo 0x100fbac4
call ebx
add esp, 0x10
rol dword [ebx + 0x5e5f10c4], cl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.100fbdec
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x100fbb14
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx dx, byte [ecx]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov word [ecx + eax*2], dx
mov edx, dword [ebp - 4]
sub edx, 1
mov dword [ebp - 4], edx
jmp 0x100fbaef
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movsx cx, byte [eax]
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov word [eax + edx*2], cx
mov esp, ebp
pop ebp
ret
les ebx, [eax]
mov dword [esp + 0x14], ebp
xor eax, eax
mov dword [esp + 0x18], ebp
mov ebx, ecx
mov dword [esp + 0x1c], eax
lea edi, [ebx + 1]
mov eax, ecx
sub eax, ebx
xor esi, esi
mov ebx, dword [esp + 0x34]
add ebx, 0xfffffff0
add ebx, eax
je 0x100fbc88
nop dword [eax + eax]
xor eax, eax
mov dl, byte [esp + eax + 0x24]
lea ecx, [eax + esi]
cmp byte [ecx + edi], dl
je 0x100fbbaf
cmp dl, 0x3f
jne 0x100fbc2c
inc eax
cmp eax, 8
jb 0x100fbb9e
lea ebx, [esi + edi]
test ebx, ebx
je 0x100fbc88
mov ecx, dword [ebx]
lea edi, [ebx + 8]
movzx esi, cl
shl esi, 8
movzx eax, ch
add esi, eax
mov dword [esp + 0x20], ecx
movzx eax, byte [esp + 0x22]
shl esi, 8
add esi, eax
shr ecx, 0x18
shl esi, 8
add esi, ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x78]
mov eax, dword [eax + 0x28]
cmp dword [edi], eax
pop es
pop es
jne 0x100fbc37
test ebp, ebp
jne 0x100fbc43
mov eax, dword [edi + 8]
add eax, 0x10
mov dword [esp + 0x1c], edi
push eax
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x5c]
push 0x40
call eax
push esi
mov ebp, eax
push edi
push ebp
mov dword [esp + 0x20], ebp
call fcn.100fb56c
mov ecx, dword [esp + 0x3c]
add esp, 0xc
add dword [esp + 0x10], esi
jmp 0x100fbb7c
inc esi
cmp esi, ebx
jb 0x100fbb9c
jmp 0x100fbc88
mov ecx, dword [esp + 0x30]
test ebp, ebp
je 0x100fbb7c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
lea ebp, [esi + ecx]
cmp ebp, eax
ja 0x100fbc74
mov eax, dword [esp + 0x14]
push esi
add eax, ecx
push edi
push eax
call fcn.100fb56c
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x14]
jmp 0x100fbb7c
mov ebp, dword [esp + 0x14]
sub eax, ecx
push eax
push edi
lea eax, [ecx + ebp]
push eax
call fcn.100fb56c
add esp, 0xc
test ebp, ebp
jne 0x100fbc96
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
test al, 3
je 0x100fbca9
dec eax
test al, 3
jne 0x100fbca4
xor ecx, ecx
test eax, eax
je 0x100fbcba
xor dword [ecx + ebp + 0x10], edx
add ecx, 4
cmp ecx, eax
jb 0x100fbcaf
mov eax, dword [esp + 0x38]
pop edi
pop esi
mov dword [eax], ebp
mov eax, dword [esp + 8]
test eax, eax
pop ebp
setne al
pop ebx
add esp, 0x1c
ret
and al, 0x14
movzx edx, word [esi + edi*2]
inc edi
imul eax, ebx
add eax, edx
cmp edi, ecx
jb 0x100fbd01
pop ebx
pop edi
pop esi
ret
lea ecx, [edx + eax*2]
xor ebp, ebp
cmp word [ecx - 2], 0x5c
push esi
je 0x100fbd9e
mov esi, 0x5c
mov word [ecx], si
lea ebp, [esi - 0x5b]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x100fbdb0
pop esi
xor eax, eax
pop ebp
mov word [ecx + 2], ax
pop ebx
ret
movzx ecx, word [ebx]
xor esi, esi
test cx, cx
je 0x100fbdd4
push edi
mov edi, ecx
lea ecx, [eax + ebp]
lea ecx, [edx + ecx*2]
inc esi
mov word [ecx], di
lea ecx, [ecx + 2]
movzx edi, word [ebx + esi*2]
test di, di
jne 0x100fbdc3
pop edi
lea ecx, [esi + ebp]
add ecx, eax
xor eax, eax
pop esi
pop ebp
pop ebx
mov word [edx + ecx*2], ax
ret
je 0x100fbe34
or al, 0x57
push 0
push 0x80
mov eax, dword [esi + 0x10]
push 3
push 0
push 1
push SysReAllocString
push dword [esp + 0x24]
call eax
mov edi, eax
cmp edi, 0xffffffff
jne 0x100fbe39
pop edi
xor al, al
pop esi
ret
mov eax, dword [esi + 0x1c]
push ebx
push 0
push edi
call eax
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov dword [ecx], ebx
test ebx, ebx
jne 0x100fbe5a
mov eax, dword [esi + 0x24]
push edi
call eax
pop ebx
pop edi
xor al, al
pop esi
ret
push ebp
lea eax, [ebx + 1]
push eax
mov eax, dword [esi + 0x5c]
push 0x40
call eax
mov ecx, dword [esi + 0x68]
mov ebp, eax
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
push ebp
push edi
call ecx
push edi
test eax, eax
jne 0x100fbe88
mov eax, dword [esi + 0x24]
call eax
pop ebp
pop ebx
pop edi
xor al, al
pop esi
ret
mov eax, dword [esp + 0x20]
mov dword [eax], ebp
mov eax, dword [esi + 0x24]
call eax
pop ebp
pop ebx
pop edi
mov al, 1
pop esi
ret
cmp word [esi], ax
je 0x100fbee2
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x100fbeac
test eax, eax
je 0x100fbee2
mov edx, dword [esp + 8]
sub esi, edx
push ebx
push edi
movzx edi, word [esi + edx]
mov ebx, edi
lea ecx, [edi - 0x41]
cmp cx, 0x19
stc
sbb dword [edi + 6], esi
stc
sbb dword [edi + 6], esi
lea ecx, [edi + 0x20]
movzx ebx, cx
mov word [edx], bx
add edx, 2
sub eax, 1
jne 0x100fbec0
pop edi
pop ebx
pop esi
ret
mov edx, dword [eax - 0x1b]
cmp edx, dword [ecx - 0x1b]
je 0x100fbfd0
movzx esi, dl
movzx edx, byte [ecx - 0x1b]
sub esi, edx
je 0x100fbf79
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x1a]
movzx edx, byte [ecx - 0x1a]
sub esi, edx
je 0x100fbf98
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x19]
movzx edx, byte [ecx - 0x19]
sub esi, edx
je 0x100fbfb7
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x18]
movzx edx, byte [ecx - 0x18]
sub esi, edx
je 0x100fbfd2
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fbfd2
xor esi, esi
test esi, esi
jne 0x100fb36c
mov edx, dword [eax - 0x17]
cmp edx, dword [ecx - 0x17]
je 0x100fc057
movzx esi, dl
movzx edx, byte [ecx - 0x17]
sub esi, edx
je 0x100fc000
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x16]
movzx edx, byte [ecx - 0x16]
sub esi, edx
je 0x100fc01f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x15]
movzx edx, byte [ecx - 0x15]
sub esi, edx
je 0x100fc03e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x14]
movzx edx, byte [ecx - 0x14]
sub esi, edx
je 0x100fc059
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fc059
xor esi, esi
test esi, esi
jne 0x100fb36c
mov edx, dword [eax - 0x13]
cmp edx, dword [ecx - 0x13]
je 0x100fc0de
movzx esi, dl
movzx edx, byte [ecx - 0x13]
sub esi, edx
je 0x100fc087
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x12]
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x100fc0a6
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x11]
movzx edx, byte [ecx - 0x11]
sub esi, edx
je 0x100fc0c5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0x10]
movzx edx, byte [ecx - 0x10]
sub esi, edx
je 0x100fc0e0
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fc0e0
xor esi, esi
test esi, esi
jne 0x100fb36c
mov edx, dword [eax - 0xf]
cmp edx, dword [ecx - 0xf]
je 0x100fc166
movzx edx, byte [ecx - 0xf]
movzx esi, byte [eax - 0xf]
sub esi, edx
je 0x100fc10f
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0xe]
movzx edx, byte [ecx - 0xe]
sub esi, edx
je 0x100fc12e
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0xd]
movzx edx, byte [ecx - 0xd]
sub esi, edx
je 0x100fc14d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0xc]
movzx edx, byte [ecx - 0xc]
sub esi, edx
je 0x100fc168
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fc168
xor esi, esi
test esi, esi
jne 0x100fb36c
mov edx, dword [eax - 0xb]
cmp edx, dword [ecx - 0xb]
je 0x100fc1ed
movzx esi, dl
movzx edx, byte [ecx - 0xb]
sub esi, edx
je 0x100fc196
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 0xa]
movzx edx, byte [ecx - 0xa]
sub esi, edx
je 0x100fc1b5
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 9]
movzx edx, byte [ecx - 9]
sub esi, edx
je 0x100fc1d4
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 8]
movzx edx, byte [ecx - 8]
sub esi, edx
je 0x100fc1ef
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fc1ef
xor esi, esi
test esi, esi
jne 0x100fb36c
mov edx, dword [eax - 7]
cmp edx, dword [ecx - 7]
je 0x100fc274
movzx esi, dl
movzx edx, byte [ecx - 7]
sub esi, edx
je 0x100fc21d
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 6]
movzx edx, byte [ecx - 6]
sub esi, edx
je 0x100fc23c
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 5]
movzx edx, byte [ecx - 5]
sub esi, edx
je 0x100fc25b
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 4]
movzx edx, byte [ecx - 4]
sub esi, edx
je 0x100fc276
xor edx, edx
test esi, esi
setg dl
lea esi, [edx + edx - 1]
jmp 0x100fc276
xor esi, esi
test esi, esi
jne 0x100fb36c
movzx esi, byte [eax - 3]
movzx edx, byte [ecx - 3]
sub esi, edx
je 0x100fbea3
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
test edx, edx
je 0x100fbea3
mov eax, edx
jmp 0x100fb70b
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x100fc2cb
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 1]
sub eax, edx
je 0x100fc2ea
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 2]
movzx edx, byte [esi + 2]
sub eax, edx
je 0x100fc309
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 3]
movzx ecx, byte [esi + 3]
sub eax, ecx
je 0x100fc3ac
xor ecx, ecx
test eax, eax
setg cl
lea eax, [ecx + ecx - 1]
jmp 0x100fc3ac
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x100fc348
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 1]
sub eax, edx
je 0x100fc363
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 2]
movzx ecx, byte [esi + 2]
jmp 0x100fc311
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x100fc38c
xor edx, edx
test eax, eax
setg dl
lea eax, [edx + edx - 1]
test eax, eax
jne 0x100fc3ac
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi + 1]
jmp 0x100fc311
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx ecx, byte [ecx]
jmp 0x100fc311
xor eax, eax
pop edi
pop esi
pop ebp
ret