Function at 0x4fe350
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x240
push ebx
push ebp
push esi
push edi
xor ecx, ecx
mov dword [esp + 0x40], 0
xor eax, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x108], ecx
xor edx, edx
xor cl, cl
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x264]
xor ch, ch
mov ebp, dword [esp + 0x254]
xor ebx, ebx
mov byte [esp + 0x12], cl
mov byte [esp + 0x11], ch
mov byte [esp + 0x13], cl
mov byte [esp + 0x10], cl
mov ecx, dword [esp + 0x25c]
add eax, ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], edx
mov esi, eax
mov dword [esp + 0x20], esi
mov edi, dword [esp + 0x270]
lea eax, [esi - 1]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x264]
test ebp, ebp
jne 0x4fe425
cmp dword [esp + 0x258], edx
jne 0x4fe425
test ecx, ecx
jne 0x4fe425
cmp dword [esp + 0x260], 0xfffffc19
jne 0x4fe425
cmp eax, 0xfffffc19
jne 0x4fe425
pop edi
pop esi
pop ebp
mov eax, 0xfffffecc
pop ebx
add esp, 0x240
ret
mov edx, dword [esp + 0x268]
test edx, 0xe20f5a6f
je 0x4fe444
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x240
ret
test ebp, ebp
je 0x4ff2de
test ecx, ecx
je 0x4ff2de
mov ebx, dword [esp + 0x26c]
test ebx, ebx
jne 0x4fe467
test edi, edi
jg 0x4ff2de
test edi, edi
jns 0x4fe47b
pop edi
pop esi
pop ebp
mov eax, 0xfffffff1
pop ebx
add esp, 0x240
ret
mov ecx, dword [esp + 0x260]
test ecx, ecx
jns 0x4fe496
pop edi
pop esi
pop ebp
mov eax, 0xffffffe0
pop ebx
add esp, 0x240
ret
test eax, eax
js 0x4ff2ce
cmp eax, ecx
jg 0x4ff2ce
mov ecx, dword [ebp]
cmp ecx, 0x50435245
je 0x4fe4cf
pop edi
pop esi
cmp ecx, 0x45524350
mov eax, 0xfffffffc
mov edx, 0xffffffe3
pop ebp
cmove eax, edx
pop ebx
add esp, 0x240
ret
test byte [ebp + 0xc], 1
jne 0x4fe4e5
pop edi
pop esi
pop ebp
mov eax, 0xffffffe4
pop ebx
add esp, 0x240
ret
mov ecx, dword [ebp + 8]
mov eax, 0
and ecx, 0x800
mov dword [esp + 0x38], ecx
setne al
mov dword [esp + 0x1c], eax
mov dword [esp + 0x90], eax
test edx, 0x8000000
je 0x4fe514
mov eax, 2
jmp 0x4fe51c
mov eax, edx
shr eax, 0xf
and eax, 1
mov dword [esp + 0xcc], eax
test ecx, ecx
je 0x4fe5c0
test edx, 0x2000
jne 0x4fe5c0
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x264]
push dword [esp + 0x264]
call fcn.004ffdf0
add esp, 0xc
test eax, eax
je 0x4fe58c
cmp edi, 2
jl 0x4fe564
mov ecx, dword [esp + 0x24]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
cmp eax, 5
jg 0x4fe57c
cmp dword [esp + 0xcc], 1
mov eax, 0xffffffe7
jg 0x4ff2e3
pop edi
pop esi
pop ebp
mov eax, 0xfffffff6
pop ebx
add esp, 0x240
ret
mov eax, dword [esp + 0x264]
test eax, eax
jle 0x4fe5c0
cmp eax, dword [esp + 0x260]
jge 0x4fe5c0
mov ecx, dword [esp + 0x25c]
mov al, byte [ecx + eax]
and al, 0xc0
cmp al, 0x80
jne 0x4fe5c0
pop edi
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x240
ret
movzx eax, word [ebp + 0x22]
mov ecx, 0x989680
movzx edi, word [ebp + 0x24]
add eax, ebp
mov dword [esp + 0x74], eax
mov edx, ecx
movzx eax, word [ebp + 0x26]
mov ebp, dword [ebp + 0x30]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x68], edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xec], 0
test eax, eax
je 0x4fe652
mov ebx, dword [eax]
test bl, 1
je 0x4fe61c
mov esi, dword [eax + 4]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x20]
test bl, 2
je 0x4fe628
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
test bl, 0x10
je 0x4fe634
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], edx
test bl, 4
je 0x4fe64a
mov eax, dword [eax + 0xc]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x258]
test bl, 8
je 0x4fe652
mov ebp, dword [eax + 0x10]
mov eax, dword [esp + 0x254]
mov ebx, dword [eax + 0xc]
test ebx, 0x2000
je 0x4fe66f
cmp dword [eax + 0x10], ecx
cmovb ecx, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
test ebx, 0x4000
je 0x4fe682
cmp dword [eax + 0x14], edx
cmovb edx, dword [eax + 0x14]
mov dword [esp + 0x4c], edx
test ebp, ebp
mov dword [esp + 0x70], 0
mov ecx, 0x6348a0
mov dword [esp + 0xa8], 0
cmovne ecx, ebp
mov dword [esp + 0xf4], 0
mov ebp, dword [esp + 0x254]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xf0], 0
mov dword [esp + 0xe8], 0
mov edx, dword [ebp + 8]
mov eax, edx
or eax, dword [esp + 0x268]
shr eax, 4
and eax, 1
mov dword [esp + 0x110], eax
mov eax, ebx
shr eax, 8
and eax, 1
mov ebx, dword [esp + 0x25c]
mov dword [esp + 0x100], eax
mov eax, edx
shr eax, 0x12
and eax, 1
mov dword [esp + 0x10c], eax
movzx eax, word [ebp + 0x26]
imul edi, eax
movzx eax, word [ebp + 0x22]
add edi, eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0xd8], eax
add edi, ebp
mov eax, edx
mov dword [esp + 0xb4], edi
shr eax, 5
mov ebp, ebx
and eax, 1
mov edi, dword [esp + 0x268]
mov dword [esp + 0x9c], eax
mov eax, edx
shr eax, 0x1d
and eax, 1
add ebx, dword [esp + 0x260]
mov dword [esp + 0x98], eax
mov eax, edx
shr eax, 0x19
and eax, 1
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x94], eax
mov eax, edi
shr eax, 7
and eax, 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x88], eax
mov eax, edi
shr eax, 8
and eax, 1
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x8c], eax
mov eax, edi
shr eax, 0xa
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, edi
shr eax, 0x1c
and eax, 1
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x254]
mov edi, dword [eax + 0xc]
mov eax, edi
shr eax, 0xc
and eax, 1
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x100]
mov dword [esp + 0x80], eax
lea eax, [ecx + 0x340]
mov ecx, dword [esp + 0x268]
mov dword [esp + 0x84], eax
mov eax, ecx
and eax, 0x1800000
je 0x4fe862
cmp eax, 0x800000
je 0x4fe855
cmp eax, 0x1000000
jne 0x4fe8d7
mov dword [esp + 0xac], 0
test ecx, 0x700000
mov eax, ecx
cmove eax, edx
and eax, 0x700000
cmp eax, 0x300000
ja 0x4fe8c9
je 0x4fe8af
test eax, eax
je 0x4fe895
cmp eax, 0x100000
je 0x4fe87b
cmp eax, 0x200000
jne 0x4fe8d7
mov dword [esp + 0x5c], 0
jmp 0x4fe89b
mov dword [esp + 0xac], 1
jmp 0x4fe818
test edx, 0x1800000
je 0x4fe80d
mov eax, edx
shr eax, 0x17
and eax, 1
mov dword [esp + 0xac], eax
jmp 0x4fe818
xor ecx, ecx
mov eax, 0xd
mov dword [esp + 0x5c], ecx
mov ecx, 1
mov dword [esp + 0x60], ecx
mov byte [esp + 0x78], al
jmp 0x4fe8f7
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov eax, 0xa
mov ecx, 1
mov dword [esp + 0x60], ecx
mov byte [esp + 0x78], al
jmp 0x4fe8f7
mov ecx, 2
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], ecx
mov word [esp + 0x78], 0xa0d
jmp 0x4fe8f7
cmp eax, 0x400000
je 0x4fe8ee
cmp eax, 0x500000
je 0x4fe8e7
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x240
ret
mov ecx, 2
jmp 0x4fe8f3
mov ecx, 1
mov dword [esp + 0x5c], ecx
cmp dword [esp + 0xcc], 0
je 0x4fe919
test edi, 0x200
je 0x4fe919
pop edi
pop esi
pop ebp
mov eax, 0xfffffff3
pop ebx
add esp, 0x240
ret
mov eax, 0xaaaaaaab
mul dword [esp + 0x270]
mov eax, 0x55555556
shr edx, 1
lea edi, [edx + edx*2]
lea ecx, [edi + edi]
mov dword [esp + 0x28], edi
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x254]
movzx eax, word [eax + 0x20]
test ax, ax
je 0x4fe9b0
mov ecx, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x4fe9b0
inc ecx
lea eax, [ecx + ecx*2]
mov dword [esp + 0x28], eax
shl eax, 2
push eax
call dword [0x68f5e4]
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
test edi, edi
jne 0x4fe994
lea eax, [edi - 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x240
ret
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0x40], 1
mov dword [esp + 0x2c], edi
jmp 0x4fe9c1
mov eax, dword [esp + 0x26c]
mov edi, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov dword [esp + 0xd4], 0
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0x2c]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x58], eax
test ecx, ecx
je 0x4fea7d
mov eax, dword [esp + 0x28]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x254]
mov edx, ecx
movzx eax, word [eax + 0x1e]
shl eax, 2
sub edx, eax
mov eax, dword [esp + 0x2c]
add eax, 8
cmp edx, eax
cmovb edx, eax
sub ecx, 4
cmp ecx, edx
jb 0x4fea40
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, edx
jae 0x4fea21
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x270]
test eax, eax
jle 0x4fea63
mov dword [edi], 0xffffffff
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x50]
cmp eax, 1
jle 0x4fea7d
mov dword [edi + 4], 0xffffffff
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
cmp dword [esp + 0x110], 0
mov edx, dword [esp + 0x254]
jne 0x4feae4
mov eax, dword [edx + 0xc]
test al, 0x10
je 0x4feac2
mov ecx, 1
mov dword [esp + 0x18], ecx
mov ch, byte [edx + 0x18]
mov byte [esp + 0x11], ch
mov cl, ch
mov byte [esp + 0x12], cl
test al, 0x20
je 0x4feae4
mov eax, dword [esp + 0x80]
movzx ecx, ch
mov ch, byte [ecx + eax]
mov byte [esp + 0x11], ch
jmp 0x4feae4
cmp dword [esp + 0x100], 0
jne 0x4feae4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4feae4
test byte [eax + 4], 1
je 0x4feae4
add eax, 8
mov dword [esp + 0x104], eax
mov eax, dword [edx + 0xc]
test al, 0x40
je 0x4feb18
mov ch, byte [edx + 0x1a]
mov dword [esp + 0x108], 1
mov cl, ch
mov byte [esp + 0x10], ch
mov byte [esp + 0x13], cl
test al, al
jns 0x4feb18
mov eax, dword [esp + 0x80]
movzx ecx, ch
mov al, byte [ecx + eax]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x14]
nop dword [eax]
cmp dword [esp + 0x10c], 0
mov edi, eax
je 0x4fec48
cmp dword [esp + 0x38], 0
mov edi, esi
je 0x4febcd
cmp esi, ebx
jae 0x4fec48
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4feb83
cmp edi, ebx
jae 0x4feb77
push dword [esp + 0x1c]
lea ecx, [esp + 0x64]
push ecx
push ebx
push eax
push edi
call fcn.004ffac0
mov ebx, dword [esp + 0xd0]
add esp, 0x14
test eax, eax
je 0x4feb77
mov eax, 1
jmp 0x4feb79
xor eax, eax
test eax, eax
jne 0x4fec3a
jmp 0x4febad
mov ecx, dword [esp + 0x60]
mov eax, ebx
sub eax, ecx
cmp edi, eax
ja 0x4febad
mov al, byte [edi]
cmp al, byte [esp + 0x78]
jne 0x4febad
cmp ecx, 1
je 0x4fec3a
mov al, byte [edi + 1]
cmp al, byte [esp + 0x79]
je 0x4fec3a
mov ecx, dword [esp + 0x14]
inc edi
cmp edi, ecx
jae 0x4febc3
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4febc3
inc edi
cmp edi, ecx
jb 0x4febb6
cmp edi, ebx
jb 0x4feb45
jmp 0x4fec3a
cmp esi, ebx
jae 0x4fec48
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4fec13
cmp edi, ebx
jae 0x4fec0b
push dword [esp + 0x1c]
lea ecx, [esp + 0x64]
push ecx
push ebx
push eax
push edi
call fcn.004ffac0
mov ebx, dword [esp + 0xd0]
add esp, 0x14
mov esi, dword [esp + 0x60]
test eax, eax
je 0x4fec0b
mov eax, 1
jmp 0x4fec0d
xor eax, eax
test eax, eax
jne 0x4fec36
jmp 0x4fec31
mov eax, ebx
sub eax, esi
cmp edi, eax
ja 0x4fec31
mov al, byte [edi]
cmp al, byte [esp + 0x78]
jne 0x4fec31
cmp esi, 1
je 0x4fec36
mov al, byte [edi + 1]
cmp al, byte [esp + 0x79]
je 0x4fec36
inc edi
cmp edi, ebx
jb 0x4febd5
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x254]
mov eax, dword [edx + 8]
or eax, dword [esp + 0x268]
mov ebx, dword [esp + 0x18]
test eax, 0x4000000
jne 0x4fee13
test ebx, ebx
je 0x4fecb2
cmp esi, edi
jae 0x4fee13
mov cl, byte [esp + 0x12]
mov dl, byte [esp + 0x11]
cmp cl, dl
je 0x4feca0
nop dword [eax]
mov al, byte [esi]
cmp al, cl
je 0x4fee13
cmp al, dl
je 0x4fee13
inc esi
cmp esi, edi
jb 0x4fec80
jmp 0x4fee13
cmp byte [esi], cl
je 0x4fee13
inc esi
cmp esi, edi
jb 0x4feca0
jmp 0x4fee13
cmp dword [esp + 0x100], 0
je 0x4fede4
mov eax, dword [esp + 0x264]
add eax, ebp
cmp esi, eax
jbe 0x4fee13
cmp esi, edi
jae 0x4fedc4
cmp dword [esp + 0x38], 0
je 0x4fed60
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4fed22
cmp esi, ebp
jbe 0x4fed16
push dword [esp + 0x1c]
lea ecx, [esp + 0x64]
push ecx
push ebp
push eax
push esi
call fcn.004ffc50
mov ebp, dword [esp + 0xcc]
add esp, 0x14
test eax, eax
je 0x4fed16
mov eax, 1
jmp 0x4fed18
xor eax, eax
test eax, eax
jne 0x4fedc4
jmp 0x4fed4b
mov edx, dword [esp + 0x60]
lea eax, [edx + ebp]
cmp esi, eax
jb 0x4fed4b
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esp + 0x78]
jne 0x4fed4b
cmp edx, 1
je 0x4fedc4
mov al, byte [ecx + 1]
cmp al, byte [esp + 0x79]
je 0x4fedc4
inc esi
cmp esi, edi
jae 0x4fedc4
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4fece4
inc esi
cmp esi, edi
jb 0x4fed50
jmp 0x4fedc4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4fed9a
cmp esi, ebp
jbe 0x4fed92
push dword [esp + 0x1c]
lea ecx, [esp + 0x64]
push ecx
push ebp
push eax
push esi
call fcn.004ffc50
mov ebp, dword [esp + 0xcc]
add esp, 0x14
test eax, eax
je 0x4fed92
mov eax, 1
jmp 0x4fed94
xor eax, eax
test eax, eax
jne 0x4fedc4
jmp 0x4fedbf
mov edx, dword [esp + 0x60]
lea eax, [edx + ebp]
cmp esi, eax
jb 0x4fedbf
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esp + 0x78]
jne 0x4fedbf
cmp edx, 1
je 0x4fedc4
mov al, byte [ecx + 1]
cmp al, byte [esp + 0x79]
je 0x4fedc4
inc esi
cmp esi, edi
jb 0x4fed60
cmp byte [esi - 1], 0xd
jne 0x4fee13
mov eax, dword [esp + 0x5c]
cmp eax, 1
je 0x4fedd8
cmp eax, 2
jne 0x4fee13
cmp esi, edi
jae 0x4fee13
cmp byte [esi], 0xa
jne 0x4fee13
inc esi
jmp 0x4fee13
mov ebx, dword [esp + 0x104]
test ebx, ebx
je 0x4fee0f
cmp esi, edi
jae 0x4fee0f
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
jne 0x4fee0f
inc esi
cmp esi, edi
jb 0x4fedf3
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x254]
mov eax, dword [edi + 8]
or eax, dword [esp + 0x268]
test eax, 0x4000000
jne 0x4feebe
cmp dword [esp + 0xcc], 0
jne 0x4feebe
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4fee58
test byte [ecx + 4], 2
je 0x4fee58
mov eax, edx
sub eax, esi
cmp eax, dword [ecx + 0x28]
jb case.0x4fef4f.996
cmp dword [esp + 0x108], 0
je 0x4feebe
mov eax, edx
sub eax, esi
cmp eax, 0x3e8
jge 0x4feebe
lea ecx, [ebx + esi]
cmp ecx, dword [esp + 0x34]
jbe 0x4feebe
cmp ecx, edx
jae case.0x4fef4f.996
mov ah, byte [esp + 0x13]
cmp ah, byte [esp + 0x10]
je 0x4feea2
mov al, byte [ecx]
mov ebx, ecx
inc ecx
mov dword [esp + 0x34], ebx
cmp al, ah
je 0x4feeba
cmp al, byte [esp + 0x10]
je 0x4feeba
cmp ecx, edx
jb 0x4fee84
xor ebp, ebp
jmp 0x4ff0ab
mov al, byte [ecx]
mov ebx, ecx
mov dword [esp + 0x34], ecx
inc ecx
cmp al, ah
je 0x4feeba
cmp ecx, edx
jb 0x4feea2
xor ebp, ebp
jmp 0x4ff0ab
cmp ebx, edx
jae case.0x4fef4f.996
push 0
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0xc8], esi
push eax
push 2
push esi
push dword [esp + 0xc8]
mov dword [esp + 0xe0], esi
push esi
mov dword [esp + 0x60], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x88], 0
call fcn.004ef470
add esp, 0x1c
mov ebp, eax
cmp dword [esp + 0xa8], 0
je 0x4fef36
cmp dword [esp + 0x3c], 0
jne 0x4fef36
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x114], esi
test ebp, ebp
jg 0x4ff096
je case.0x4fef4f.995
lea eax, [ebp + 0x3e4]
cmp eax, 4
ja case.default.0x4fef4f
jmp dword [eax*4 + 0x4ff2f0]
mov eax, dword [esp + 0x6c]
mov edi, esi
mov dword [esp + 0x70], eax
jmp 0x4fef94
mov edi, dword [esp + 0xc0]
cmp edi, esi
ja 0x4fef94
cmp dword [esp + 0x38], 0
lea edi, [esi + 1]
mov dword [esp + 0x70], 0
je 0x4fef94
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jae 0x4fef94
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4fef94
inc edi
cmp edi, ecx
jb 0x4fef87
mov edx, dword [esp + 0x5c]
xor ebp, ebp
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x10c], ebp
je 0x4fefe8
test edx, edx
je 0x4ff067
cmp esi, ebx
jae 0x4fefda
push dword [esp + 0x1c]
lea eax, [esp + 0x64]
push eax
push ebx
push edx
push esi
call fcn.004ffac0
mov ebx, dword [esp + 0xd0]
add esp, 0x14
test eax, eax
je 0x4fefda
lea eax, [ebp + 1]
jmp 0x4fefdc
xor eax, eax
test eax, eax
jne 0x4ff0ab
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov esi, edi
mov dword [esp + 0x20], esi
cmp dword [esp + 0x110], ebp
jne 0x4ff0ab
mov eax, dword [esp + 0x14]
cmp edi, eax
ja 0x4ff0ab
cmp edi, dword [esp + 0x118]
jbe 0x4ff049
cmp byte [edi - 1], 0xd
jne 0x4ff049
cmp edi, eax
jae 0x4ff049
cmp byte [edi], 0xa
jne 0x4ff049
mov ebp, dword [esp + 0x254]
test dword [ebp + 0xc], 0x800
jne 0x4ff049
cmp edx, 1
je 0x4ff042
cmp edx, 2
je 0x4ff042
cmp ecx, 2
jne 0x4ff049
lea esi, [edi + 1]
mov dword [esp + 0x20], esi
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x254]
mov dword [esp + 0xf0], 0
jmp 0x4feb20
mov ecx, dword [esp + 0x60]
mov eax, ebx
sub eax, ecx
cmp esi, eax
ja 0x4fefec
mov al, byte [esi]
cmp al, byte [esp + 0x78]
jne 0x4fefec
cmp ecx, 1
je 0x4ff0ab
mov al, byte [esi + 1]
cmp al, byte [esp + 0x79]
je 0x4ff0ab
jmp 0x4fefec
cmp ebp, 1
je 0x4ff18e
cmp ebp, 0xfffffc19
je 0x4ff18e
cmp dword [esp + 0x40], 0
je 0x4ff0bf
push dword [esp + 0x50]
call dword [0x68f5e8]
add esp, 4
test ebp, ebp
je 0x4ff0f1
cmp ebp, 0xfffffff4
je 0x4ff0f1
mov esi, dword [esp + 0x120]
test esi, esi
je 0x4ff0e4
push esi
mov esi, dword [esi + 4]
call dword [0x68f5f0]
add esp, 4
test esi, esi
jne 0x4ff0d3
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x240
ret
mov ebx, dword [esp + 0x114]
test ebx, ebx
je 0x4ff144
mov ecx, dword [esp + 0x270]
mov dword [esp + 0xf0], 0
cmp ecx, 1
jle 0x4ff13d
mov eax, dword [esp + 0x26c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x25c]
sub edx, esi
mov dword [eax], edx
mov edx, dword [esp + 0x260]
mov dword [eax + 4], edx
cmp ecx, 2
jle 0x4ff13d
sub ebx, esi
mov dword [eax + 8], ebx
mov edi, 0xfffffff4
jmp 0x4ff147
or edi, 0xffffffff
mov ecx, dword [esp + 0x258]
test ecx, ecx
je 0x4ff163
test byte [ecx], 0x20
je 0x4ff163
mov ecx, dword [ecx + 0x18]
mov eax, dword [esp + 0xf4]
mov dword [ecx], eax
mov esi, dword [esp + 0x120]
test esi, esi
je 0x4ff181
nop
push esi
mov esi, dword [esi + 4]
call dword [0x68f5f0]
add esp, 4
test esi, esi
jne 0x4ff170
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x240
ret
cmp dword [esp + 0x40], 0
mov ebx, dword [esp + 0x24]
je 0x4ff1df
mov esi, dword [esp + 0x50]
cmp ebx, 4
jl 0x4ff1c1
lea eax, [ebx*4 - 8]
push eax
lea eax, [esi + 8]
push eax
mov eax, dword [esp + 0x274]
add eax, 8
push eax
call fcn.004da640
add esp, 0xc
cmp dword [esp + 0xd0], ebx
jle 0x4ff1d5
or dword [esp + 0xd4], 0x10000
push esi
call dword [0x68f5e8]
add esp, 4
test dword [esp + 0xd4], 0x10000
mov ecx, dword [esp + 0xd0]
je 0x4ff1fb
cmp ecx, ebx
jl 0x4ff1fb
xor ebx, ebx
jmp 0x4ff204
mov eax, ecx
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
movzx esi, word [edi + 0x1e]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x26c]
sar eax, 1
cmp eax, esi
jg 0x4ff254
test edx, edx
je 0x4ff254
lea eax, [esi*2 + 2]
cmp eax, dword [esp + 0x270]
lea edi, [edx + ecx*4]
cmovg eax, dword [esp + 0x270]
xor esi, esi
lea eax, [edx + eax*4]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, esi
test ecx, ecx
je 0x4ff254
or eax, 0xffffffff
rep stosd dword es:[edi], eax
cmp dword [esp + 0x270], 2
jge 0x4ff262
xor ebx, ebx
jmp 0x4ff283
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xb8]
mov dword [edx], eax
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xb8]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x258]
test ecx, ecx
je 0x4ff29f
test byte [ecx], 0x20
je 0x4ff29f
mov ecx, dword [ecx + 0x18]
mov eax, dword [esp + 0xf0]
mov dword [ecx], eax
mov esi, dword [esp + 0x120]
test esi, esi
je 0x4ff2c1
nop word [eax + eax]
push esi
mov esi, dword [esi + 4]
call dword [0x68f5f0]
add esp, 4
test esi, esi
jne 0x4ff2b0
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x240
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe8
pop ebx
add esp, 0x240
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x240
ret