Function at 0x4de9f4
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x94
mov ebx, eax
mov eax, edx
mov edx, ecx
mov esi, dword [esp + 0xac]
lea ecx, [esi + 7]
shr ecx, 3
mov dword [esp + 0xc], ecx
mov ecx, edx
and ecx, 7
imul ecx, esi
add ecx, 7
shr ecx, 3
shr edx, 3
imul edx, esi
lea edi, [ecx + edx]
mov dword [esp + 4], edi
mov esi, dword [esp + 0xa8]
test esi, esi
je 0x4dec70
mov edi, dword [esp + 4]
lea ebp, [edi + 1]
mov dword [esp], ebx
mov esi, dword [esp + 0xc]
lea edx, [esi + 1]
lea esi, [eax + edx]
add eax, 1
mov dword [esp + 8], eax
add eax, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
xor edi, edi
mov ebx, dword [esp]
mov eax, dword [esp + 8]
cmp byte [eax - 1], 4
ja case.default.0x4e0278
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f7068]
mov ebx, dword [esp + 0x34]
mov edi, ebp
mov ebp, edx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4dee54
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4e0211
xor eax, eax
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp]
nop
movzx edx, byte [esi + eax]
shr dl, 1
add dl, byte [ebx + eax]
mov byte [edi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4deac0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
cmp ebx, 3
jbe 0x4deebd
lea eax, [ebx + 3]
mov edx, dword [esp + 4]
cmp eax, edx
jae 0x4dff79
xor eax, eax
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x40], esi
mov esi, eax
mov edx, dword [esp]
mov dword [esp + 0x44], ebp
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx + ebx + 1]
mov byte [esp + 0x1c], al
mov eax, ecx
movzx ecx, byte [ecx + ebx + 2]
mov byte [esp + 0x20], cl
movzx eax, byte [eax + ebx + 3]
mov byte [esp + 0x24], al
movzx eax, byte [edx + esi + 1]
movzx ecx, byte [edx + esi + 2]
mov byte [esp + 0x28], cl
movzx ecx, byte [edx + esi + 3]
mov byte [esp + 0x2c], cl
movzx ecx, byte [edi + ebx + 1]
mov byte [esp + 0x30], cl
movzx ecx, byte [edi + ebx + 2]
mov byte [esp + 0x34], cl
movzx ecx, byte [edi + ebx + 3]
mov byte [esp + 0x38], cl
movzx ecx, byte [edx + esi]
movzx ebp, byte [edi + ebx]
add ecx, ebp
sar ecx, 1
mov ebp, dword [esp + 0x18]
add cl, byte [ebp + ebx]
mov byte [edx + ebx], cl
movzx ecx, byte [esp + 0x30]
add eax, ecx
sar eax, 1
add al, byte [esp + 0x1c]
mov byte [edx + ebx + 1], al
movzx eax, byte [esp + 0x28]
movzx ecx, byte [esp + 0x34]
add eax, ecx
sar eax, 1
add al, byte [esp + 0x20]
mov byte [edx + ebx + 2], al
movzx eax, byte [esp + 0x2c]
movzx ecx, byte [esp + 0x38]
add eax, ecx
sar eax, 1
add al, byte [esp + 0x24]
mov byte [edx + ebx + 3], al
mov eax, ebx
add ebx, 4
add esi, 4
add eax, 7
mov ecx, dword [esp + 4]
cmp eax, ecx
jb 0x4deb16
mov edi, dword [esp + 0x3c]
mov ecx, esi
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov edx, ebx
mov eax, ecx
sub eax, ebx
mov ebx, dword [esp]
add ebx, eax
cmp dword [esp + 4], edx
je 0x4dec48
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp]
lea esi, cs:[esi]
lea esi, cs:[esi]
lea esi, [esi]
movzx eax, byte [ebx + edx]
movzx ecx, byte [edi + edx]
add eax, ecx
sar eax, 1
add al, byte [esi + edx]
mov byte [ebp + edx], al
add edx, 1
cmp dword [esp + 4], edx
jne 0x4dec20
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp]
mov dword [esp + 0x10], eax
add edi, 1
mov edx, dword [esp + 4]
add dword [esp], edx
add esi, ebp
add dword [esp + 8], ebp
add dword [esp + 0x14], ebp
cmp dword [esp + 0xa8], edi
jne 0x4dea6a
xor eax, eax
add esp, 0x94
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x34]
mov edi, ebp
mov ebp, edx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4dee1b
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4dec48
xor eax, eax
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp]
lea esi, cs:[esi]
lea esi, [esi]
movzx edx, byte [esi + eax]
add dl, byte [ebx + eax]
mov byte [edi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4decc0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x4dec48
mov edi, ebp
mov ebp, edx
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4ded0f
lea esi, cs:[esi]
lea esi, [esi]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp eax, esi
jne 0x4ded00
mov edx, dword [esp]
mov eax, esi
mov ecx, dword [esp + 4]
cmp dword [esp + 0xc], ecx
je 0x4dec48
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
lea esi, cs:[esi]
lea esi, cs:[esi]
nop
movzx ecx, byte [edx]
add cl, byte [eax]
mov byte [edx + ebx], cl
add eax, 1
add edx, 1
cmp edi, eax
jne 0x4ded40
mov edi, dword [esp + 0x10]
jmp 0x4dec48
mov edi, ebp
mov ebp, edx
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4dec48
mov ecx, dword [esp + 0x14]
lea esi, cs:[esi]
nop
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp eax, ecx
jne 0x4ded80
jmp 0x4dec48
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4dedbf
mov eax, dword [esp + 0xc]
cmp eax, 8
ja case.0x4deda9.0
jmp dword [eax*4 + 0x4f707c]
mov ecx, dword [esp]
test ecx, ecx
jne 0x4e022d
mov edi, ebp
mov ebp, edx
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4deddf
nop
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp esi, eax
jne 0x4dedd0
mov edx, dword [esp]
mov eax, esi
mov ecx, dword [esp + 4]
cmp dword [esp + 0xc], ecx
je 0x4dec48
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
nop
movzx ecx, byte [edx]
add cl, byte [eax]
mov byte [edx + ebx], cl
add eax, 1
add edx, 1
cmp edi, eax
jne 0x4dee00
mov edi, dword [esp + 0x10]
jmp 0x4dec48
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4dec48
mov ecx, dword [esp + 0x14]
lea esi, cs:[esi]
lea esi, [esi]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp ecx, eax
jne 0x4dee40
jmp 0x4dec48
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4dee7f
lea esi, cs:[esi]
lea esi, cs:[esi]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp eax, esi
jne 0x4dee70
mov ecx, dword [esp]
mov edx, esi
mov ebx, dword [esp + 4]
cmp dword [esp + 0xc], ebx
je 0x4dec48
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
nop
movzx eax, byte [ecx]
shr al, 1
add al, byte [edx]
mov byte [ecx + ebx], al
add edx, 1
add ecx, 1
cmp edi, edx
jne 0x4deea0
mov edi, dword [esp + 0x10]
jmp 0x4dec48
je 0x4e007c
cmp dword [esp + 0xc], 2
jne 0x4dff6d
mov ebx, 2
xor ecx, ecx
cmp dword [esp + 4], 3
jbe 0x4debe2
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
mov esi, dword [esp]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 8]
movzx eax, byte [ebp + ebx + 1]
mov byte [esp + 0x18], al
movzx eax, byte [esi + ecx + 1]
mov edi, dword [esp + 0x10]
movzx edx, byte [edi + ebx + 1]
mov byte [esp + 0x1c], dl
movzx edx, byte [esi + ecx]
movzx edi, byte [edi + ebx]
add edx, edi
sar edx, 1
add dl, byte [ebp + ebx]
mov byte [esi + ebx], dl
movzx edi, byte [esp + 0x1c]
add eax, edi
sar eax, 1
add al, byte [esp + 0x18]
mov byte [esi + ebx + 1], al
mov eax, ebx
add ebx, 2
add ecx, 2
add eax, 3
mov edi, dword [esp + 4]
cmp eax, edi
jb 0x4deef3
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
jmp 0x4debe2
mov eax, dword [esp + 4]
cmp eax, 7
jbe 0x4e021a
mov ecx, dword [esp + 0x10]
lea edx, [eax - 8]
mov eax, edx
shr eax, 3
add eax, 1
add eax, eax
add eax, eax
add eax, eax
add eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov byte [esp + 0x38], 0
mov byte [esp + 0x3c], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x40], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x44], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x48], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x4c], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x7d], 0
mov byte [esp + 0x30], 0
mov byte [esp + 0x50], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x74], 0
mov dword [esp + 0x84], edi
mov edi, ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebp
jmp 0x4df348
mov ebp, ebx
cmp bp, cx
movzx eax, byte [esp + 0x34]
movzx esi, byte [esp + 0x7f]
cmovle esi, eax
mov eax, esi
movzx ebx, byte [esp + 0x7e]
add eax, ebx
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 1]
mov byte [esp + 0x64], al
movzx ebx, byte [esp + 0x50]
movzx ecx, byte [esp + 0x6c]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x30]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e006e
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x6c]
movzx esi, byte [esp + 0x30]
cmovle eax, esi
movzx ebx, byte [esp + 0x64]
add eax, ebx
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 2]
mov byte [esp + 0x64], al
movzx ebx, byte [esp + 0x7d]
movzx ecx, byte [esp + 0x68]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x2c]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e0060
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x68]
movzx esi, byte [esp + 0x2c]
cmovle eax, esi
movzx ebx, byte [esp + 0x64]
add eax, ebx
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 3]
mov byte [esp + 0x64], al
movzx ebx, byte [esp + 0x4c]
movzx ecx, byte [esp + 0x58]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x28]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e0052
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x58]
movzx esi, byte [esp + 0x28]
cmovle eax, esi
movzx ebx, byte [esp + 0x64]
add eax, ebx
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 4]
mov byte [esp + 0x58], al
movzx ebx, byte [esp + 0x48]
movzx ecx, byte [esp + 0x54]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x24]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e0044
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x54]
movzx esi, byte [esp + 0x24]
cmovle eax, esi
movzx ebx, byte [esp + 0x58]
add eax, ebx
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 5]
mov byte [esp + 0x54], al
movzx ebx, byte [esp + 0x44]
movzx ecx, byte [esp + 0x70]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x20]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e0036
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x70]
movzx esi, byte [esp + 0x20]
cmovle eax, esi
movzx ebx, byte [esp + 0x54]
add eax, ebx
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 6]
mov byte [esp + 0x54], al
movzx ebx, byte [esp + 0x40]
movzx ecx, byte [esp + 0x60]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x1c]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e0028
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x60]
movzx esi, byte [esp + 0x1c]
cmovle eax, esi
movzx ebx, byte [esp + 0x54]
add eax, ebx
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 7]
mov byte [esp + 0x54], al
movzx ebx, byte [esp + 0x3c]
movzx ecx, byte [esp + 0x5c]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x38]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e001a
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x5c]
movzx esi, byte [esp + 0x38]
cmovle eax, esi
movzx ebx, byte [esp + 0x54]
add eax, ebx
mov byte [esp + 0x38], al
mov esi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x34]
mov byte [esi], bl
movzx ebx, byte [esp + 0x30]
mov byte [esi + 1], bl
movzx ebx, byte [esp + 0x2c]
mov byte [esi + 2], bl
movzx ebx, byte [esp + 0x28]
mov byte [esi + 3], bl
movzx ebx, byte [esp + 0x24]
mov byte [esi + 4], bl
movzx ebx, byte [esp + 0x20]
mov byte [esi + 5], bl
movzx ebx, byte [esp + 0x1c]
mov byte [esi + 6], bl
mov byte [esi + 7], al
add edi, 8
add dword [esp + 0x18], 8
add esi, 8
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x80]
cmp edi, eax
je 0x4e0159
movzx edx, byte [esp + 0x74]
mov byte [esp + 0x7f], dl
movzx eax, byte [edi]
mov byte [esp + 0x74], al
movzx ebx, byte [esp + 0x50]
mov byte [esp + 0x6c], bl
movzx ebx, byte [edi + 1]
mov byte [esp + 0x50], bl
movzx ebx, byte [esp + 0x7d]
mov byte [esp + 0x68], bl
movzx ebx, byte [edi + 2]
mov byte [esp + 0x7d], bl
movzx ebx, byte [esp + 0x4c]
mov byte [esp + 0x58], bl
movzx ebx, byte [edi + 3]
mov byte [esp + 0x4c], bl
movzx ebx, byte [esp + 0x48]
mov byte [esp + 0x54], bl
movzx ebx, byte [edi + 4]
mov byte [esp + 0x48], bl
movzx ebx, byte [esp + 0x44]
mov byte [esp + 0x70], bl
movzx ebx, byte [edi + 5]
mov byte [esp + 0x44], bl
movzx ebx, byte [esp + 0x40]
mov byte [esp + 0x60], bl
movzx ebx, byte [edi + 6]
mov byte [esp + 0x40], bl
movzx ebx, byte [esp + 0x3c]
mov byte [esp + 0x5c], bl
movzx ebx, byte [edi + 7]
mov byte [esp + 0x3c], bl
mov esi, dword [esp + 0x18]
movzx ebx, byte [esi]
mov byte [esp + 0x7e], bl
movzx ebx, al
movzx ecx, dl
mov dword [esp + 0x64], ebx
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
movzx eax, byte [esp + 0x34]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
mov esi, dword [esp + 0x64]
add eax, esi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, bx
jge 0x4df003
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x34], al
jmp 0x4df005
xor eax, eax
mov edx, dword [esp + 0xc]
test edx, edx
je 0x4df47d
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp]
lea esi, cs:[esi]
lea esi, cs:[esi]
lea esi, [esi]
movzx edx, byte [esi + eax]
add dl, byte [ebx + eax]
mov byte [edi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4df460
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
cmp dword [esp + 4], eax
je 0x4dec48
mov ebx, dword [esp + 8]
add ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xc]
sub eax, ebx
mov edx, dword [esp + 0x10]
add edx, eax
mov ebx, dword [esp]
add ebx, eax
mov dword [esp + 0x20], edi
mov edi, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebp
mov ebp, edx
mov eax, dword [esp + 0xc]
movzx eax, byte [ebp + eax]
mov edx, eax
movzx esi, byte [ebp]
mov dword [esp + 0x10], eax
sub eax, esi
mov ebx, eax
neg ebx
cmovns eax, ebx
mov dword [esp + 0x1c], eax
movzx eax, byte [edi]
mov ebx, eax
sub ebx, esi
mov ecx, ebx
neg ecx
cmovns ebx, ecx
mov ecx, dword [esp + 0x10]
add eax, ecx
sub eax, esi
sub eax, esi
mov esi, eax
neg esi
cmovs esi, eax
mov eax, dword [esp + 0x1c]
cmp bx, ax
mov ecx, eax
cmovl ecx, ebx
movzx ebx, byte [edi]
cmovge edx, ebx
cmp cx, si
movzx ebx, byte [ebp]
cmovg edx, ebx
mov eax, dword [esp + 0x18]
add dl, byte [eax]
mov esi, dword [esp + 0xc]
mov byte [edi + esi], dl
add eax, 1
mov dword [esp + 0x18], eax
add ebp, 1
add edi, 1
mov esi, dword [esp + 0x14]
cmp eax, esi
jne 0x4df4b2
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
jmp 0x4dec48
cmp dword [esp + 4], 1
jbe 0x4e021a
mov ebx, dword [esp + 0x10]
lea eax, [ebx + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
add eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp]
add eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 4]
lea edx, [eax - 2]
mov eax, edx
and eax, 0xfffffffe
add eax, 3
add eax, ebx
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x20], 0
xor ebx, ebx
mov byte [esp + 0x2c], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edx
mov byte [esp + 0x18], bl
mov esi, eax
jmp 0x4df650
mov ebx, eax
cmp bx, cx
movzx ebx, byte [esp + 0x18]
cmovg ebx, edi
movzx eax, byte [esp + 0x34]
add ebx, eax
mov byte [esp + 0x18], bl
mov eax, dword [esp + 0x24]
movzx eax, byte [eax]
mov byte [esp + 0x34], al
movzx eax, byte [esp + 0x20]
movzx ecx, byte [esp + 0x28]
mov edx, eax
sub edx, ecx
mov ebx, edx
neg ebx
cmovs ebx, edx
mov edx, esi
movzx ebp, dl
mov edx, ebp
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, ebp
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp bx, dx
jg 0x4dffd8
mov edi, ebx
cmp di, cx
movzx eax, byte [esp + 0x28]
cmovle eax, esi
mov esi, eax
movzx eax, byte [esp + 0x34]
add esi, eax
mov edi, dword [esp + 0x30]
movzx eax, byte [esp + 0x18]
mov byte [edi - 1], al
mov eax, esi
mov byte [edi], al
add dword [esp + 0x1c], 2
mov eax, dword [esp + 0x1c]
add dword [esp + 0x24], 2
add edi, 2
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x4e0182
movzx edi, byte [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx - 1]
mov byte [esp + 0x2c], al
movzx ebx, byte [esp + 0x20]
mov byte [esp + 0x28], bl
movzx ebx, byte [ecx]
mov byte [esp + 0x20], bl
mov ebx, dword [esp + 0x24]
movzx ebx, byte [ebx - 1]
mov byte [esp + 0x34], bl
mov ebx, edi
movzx ecx, bl
mov edx, eax
sub edx, ecx
mov ebx, edx
neg ebx
cmovns edx, ebx
mov dword [esp + 0x38], edx
movzx ebx, byte [esp + 0x18]
mov ebp, ebx
mov edx, ebx
sub edx, ecx
mov ebx, edx
neg ebx
cmovns edx, ebx
mov ebx, edx
add eax, ebp
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, dword [esp + 0x38]
cmp ax, dx
jle 0x4df5a9
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x18], al
jmp 0x4df5ab
cmp dword [esp + 4], 2
jbe 0x4e021a
mov byte [esp + 0x28], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x34], 0
xor ebx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebp
jmp 0x4df81b
mov ebp, eax
cmp bp, cx
movzx eax, byte [esp + 0x18]
cmovg eax, edi
movzx ecx, byte [esp + 0x38]
add eax, ecx
mov byte [esp + 0x18], al
mov eax, dword [esp + 8]
movzx eax, byte [eax + ebx + 1]
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x20]
movzx ecx, byte [esp + 0x2c]
mov edx, eax
sub edx, ecx
mov esi, edx
neg esi
cmovs esi, edx
movzx edi, byte [esp + 0x1c]
mov edx, edi
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, edi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp si, dx
jg 0x4dffca
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x2c]
movzx edi, byte [esp + 0x1c]
cmovle eax, edi
movzx ecx, byte [esp + 0x38]
add eax, ecx
mov byte [esp + 0x1c], al
mov eax, dword [esp + 8]
movzx eax, byte [eax + ebx + 2]
mov byte [esp + 0x2c], al
movzx eax, byte [esp + 0x24]
movzx ecx, byte [esp + 0x30]
mov edx, eax
sub edx, ecx
mov esi, edx
neg esi
cmovs esi, edx
movzx edi, byte [esp + 0x28]
mov edx, edi
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, edi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp si, dx
jg 0x4dffbc
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x30]
movzx edi, byte [esp + 0x28]
cmovle eax, edi
movzx ecx, byte [esp + 0x2c]
add eax, ecx
mov byte [esp + 0x28], al
mov edi, dword [esp]
movzx edx, byte [esp + 0x18]
mov byte [edi + ebx], dl
movzx ecx, byte [esp + 0x1c]
mov byte [edi + ebx + 1], cl
mov byte [edi + ebx + 2], al
lea eax, [ebx + 3]
add ebx, 5
mov edi, dword [esp + 4]
cmp ebx, edi
jae 0x4e0200
mov ebx, eax
movzx edi, byte [esp + 0x34]
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + ebx]
mov byte [esp + 0x34], al
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x2c], cl
movzx ecx, byte [esi + ebx + 1]
mov byte [esp + 0x20], cl
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x30], cl
movzx ecx, byte [esi + ebx + 2]
mov byte [esp + 0x24], cl
mov esi, dword [esp + 8]
movzx ecx, byte [esi + ebx]
mov byte [esp + 0x38], cl
mov ecx, edi
movzx ecx, cl
mov edx, eax
sub edx, ecx
mov esi, edx
neg esi
cmovns edx, esi
mov dword [esp + 0x3c], edx
movzx edx, byte [esp + 0x18]
mov esi, edx
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, esi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, dword [esp + 0x3c]
cmp ax, dx
jle 0x4df709
movzx eax, byte [esp + 0x34]
mov byte [esp + 0x18], al
jmp 0x4df70b
cmp dword [esp + 4], 3
jbe 0x4e021a
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [esp + 4]
lea edx, [eax - 4]
mov eax, edx
and eax, 0xfffffffc
add eax, 4
add eax, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov byte [esp + 0x28], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x34], 0
xor ebx, ebx
mov byte [esp + 0x44], 0
mov dword [esp + 0x54], edi
mov byte [esp + 0x24], bl
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], ebp
mov ebp, ecx
jmp 0x4dfaa7
mov edi, ebx
cmp di, cx
movzx eax, byte [esp + 0x24]
movzx edi, byte [esp + 0x4c]
cmovle edi, eax
mov eax, edi
movzx ebx, byte [esp + 0x7d]
add eax, ebx
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 1]
mov byte [esp + 0x4c], al
movzx ebx, byte [esp + 0x34]
movzx ecx, byte [esp + 0x38]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x20]
mov edx, eax
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dfffe
mov edi, esi
cmp di, cx
movzx eax, byte [esp + 0x38]
movzx edi, byte [esp + 0x20]
cmovle eax, edi
movzx ebx, byte [esp + 0x4c]
add eax, ebx
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 2]
mov byte [esp + 0x38], al
movzx ebx, byte [esp + 0x30]
movzx ecx, byte [esp + 0x3c]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x1c]
mov edx, eax
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dfff0
mov edi, esi
cmp di, cx
movzx eax, byte [esp + 0x3c]
movzx edi, byte [esp + 0x1c]
cmovle eax, edi
movzx ebx, byte [esp + 0x38]
add eax, ebx
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 3]
mov byte [esp + 0x38], al
movzx ebx, byte [esp + 0x2c]
movzx ecx, byte [esp + 0x40]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x28]
mov edx, eax
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dffe2
mov edi, esi
cmp di, cx
movzx eax, byte [esp + 0x40]
movzx edi, byte [esp + 0x28]
cmovle eax, edi
movzx ebx, byte [esp + 0x38]
add eax, ebx
mov byte [esp + 0x28], al
mov edi, dword [esp + 0x48]
movzx ebx, byte [esp + 0x24]
mov byte [edi], bl
movzx ebx, byte [esp + 0x20]
mov byte [edi + 1], bl
movzx ebx, byte [esp + 0x1c]
mov byte [edi + 2], bl
mov byte [edi + 3], al
add ebp, 4
add dword [esp + 0x18], 4
add edi, 4
mov dword [esp + 0x48], edi
cmp dword [esp + 0x50], ebp
je 0x4e019d
movzx edx, byte [esp + 0x44]
mov byte [esp + 0x4c], dl
movzx eax, byte [ebp]
mov byte [esp + 0x44], al
movzx ebx, byte [esp + 0x34]
mov byte [esp + 0x38], bl
movzx ebx, byte [ebp + 1]
mov byte [esp + 0x34], bl
movzx ebx, byte [esp + 0x30]
mov byte [esp + 0x3c], bl
movzx ebx, byte [ebp + 2]
mov byte [esp + 0x30], bl
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0x40], bl
movzx ebx, byte [ebp + 3]
mov byte [esp + 0x2c], bl
mov edi, dword [esp + 0x18]
movzx ebx, byte [edi]
mov byte [esp + 0x7d], bl
movzx edi, al
mov esi, edi
movzx ecx, dl
mov eax, edi
sub eax, ecx
mov ebx, eax
neg ebx
cmovs ebx, eax
movzx eax, byte [esp + 0x24]
mov edx, eax
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, esi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, bx
jge 0x4df91f
movzx eax, byte [esp + 0x44]
mov byte [esp + 0x24], al
jmp 0x4df921
cmp dword [esp + 4], 5
jbe 0x4e021a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov ebx, dword [esp]
mov edx, dword [esp + 8]
mov byte [esp + 0x30], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x3c], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x40], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x44], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x58], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
jmp 0x4dfe02
mov ebp, ebx
cmp bp, cx
movzx eax, byte [esp + 0x2c]
cmovg eax, esi
movzx ebx, byte [esp + 0x64]
add eax, ebx
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x18]
movzx ebp, byte [eax + 1]
movzx ebx, byte [esp + 0x44]
movzx ecx, byte [esp + 0x54]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x28]
mov edx, eax
sub edx, ecx
mov edi, edx
neg edi
cmovns edx, edi
mov edi, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dffae
mov edi, esi
cmp di, cx
movzx eax, byte [esp + 0x54]
movzx edi, byte [esp + 0x28]
cmovle eax, edi
mov ebx, ebp
add eax, ebx
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x18]
movzx edi, byte [eax + 2]
movzx ebx, byte [esp + 0x40]
movzx ecx, byte [esp + 0x50]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x24]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dffa0
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x50]
movzx esi, byte [esp + 0x24]
cmovle eax, esi
mov ebx, edi
add eax, ebx
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x18]
movzx edi, byte [eax + 3]
movzx ebx, byte [esp + 0x3c]
movzx ecx, byte [esp + 0x7d]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x20]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dff92
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x7d]
movzx esi, byte [esp + 0x20]
cmovle eax, esi
mov ebx, edi
add eax, ebx
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x18]
movzx edi, byte [eax + 4]
movzx ebx, byte [esp + 0x38]
movzx ecx, byte [esp + 0x4c]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x1c]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4dff84
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x4c]
movzx esi, byte [esp + 0x1c]
cmovle eax, esi
mov ebx, edi
add eax, ebx
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
movzx edi, byte [eax + 5]
movzx ebx, byte [esp + 0x34]
movzx ecx, byte [esp + 0x48]
mov eax, ebx
sub eax, ecx
mov esi, eax
neg esi
cmovs esi, eax
movzx eax, byte [esp + 0x30]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, ebx
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, si
jl 0x4e000c
mov ebp, esi
cmp bp, cx
movzx eax, byte [esp + 0x48]
movzx esi, byte [esp + 0x30]
cmovle eax, esi
mov ebx, edi
add eax, ebx
mov byte [esp + 0x30], al
mov edi, dword [esp + 0x60]
movzx ebx, byte [esp + 0x2c]
mov byte [edi], bl
movzx ebx, byte [esp + 0x28]
mov byte [edi + 1], bl
movzx ebx, byte [esp + 0x24]
mov byte [edi + 2], bl
movzx ebx, byte [esp + 0x20]
mov byte [edi + 3], bl
movzx ebx, byte [esp + 0x1c]
mov byte [edi + 4], bl
mov byte [edi + 5], al
mov esi, dword [esp + 0x68]
lea eax, [esi + 6]
add dword [esp + 0x5c], 6
add dword [esp + 0x18], 6
add edi, 6
mov dword [esp + 0x60], edi
lea edx, [esi + 0xb]
mov edi, dword [esp + 4]
cmp edx, edi
jae 0x4e0148
mov dword [esp + 0x68], eax
movzx esi, byte [esp + 0x58]
mov edi, dword [esp + 0x5c]
movzx eax, byte [edi]
mov byte [esp + 0x58], al
movzx ebx, byte [esp + 0x44]
mov byte [esp + 0x54], bl
movzx ebx, byte [edi + 1]
mov byte [esp + 0x44], bl
movzx ebx, byte [esp + 0x40]
mov byte [esp + 0x50], bl
movzx ebx, byte [edi + 2]
mov byte [esp + 0x40], bl
movzx ebx, byte [esp + 0x3c]
mov byte [esp + 0x7d], bl
movzx ebx, byte [edi + 3]
mov byte [esp + 0x3c], bl
movzx ebx, byte [esp + 0x38]
mov byte [esp + 0x4c], bl
movzx ebx, byte [edi + 4]
mov byte [esp + 0x38], bl
movzx ebx, byte [esp + 0x34]
mov byte [esp + 0x48], bl
movzx ebx, byte [edi + 5]
mov byte [esp + 0x34], bl
mov edi, dword [esp + 0x18]
movzx ebx, byte [edi]
mov byte [esp + 0x64], bl
movzx edi, al
mov eax, esi
movzx ecx, al
mov eax, edi
sub eax, ecx
mov ebx, eax
neg ebx
cmovs ebx, eax
movzx eax, byte [esp + 0x2c]
mov edx, eax
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, edi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
cmp dx, bx
jge 0x4dfbb6
movzx eax, byte [esp + 0x58]
mov byte [esp + 0x2c], al
jmp 0x4dfbb8
mov dword [esp + 0x34], ebx
mov edx, ebp
mov ebp, edi
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x4e024d
xor ebx, ebx
mov byte [esp + 0x18], 0
xor edi, edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edx
jmp 0x4dff0d
mov ebp, eax
cmp bp, cx
movzx eax, byte [esp + 0x1c]
cmovle eax, ebx
movzx ebx, byte [esp + 0x20]
add ebx, eax
mov eax, dword [esp]
mov byte [eax + edi], bl
add edi, 1
cmp dword [esp + 4], edi
je 0x4e01ba
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x1c], cl
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + edi]
mov byte [esp + 0x18], al
mov esi, dword [esp + 8]
movzx edx, byte [esi + edi]
mov byte [esp + 0x20], dl
mov edx, eax
sub edx, ecx
mov esi, edx
neg esi
cmovns edx, esi
mov dword [esp + 0x24], edx
movzx edx, bl
mov esi, edx
sub edx, ecx
mov ebp, edx
neg ebp
cmovns edx, ebp
mov ebp, edx
add eax, esi
sub eax, ecx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, dword [esp + 0x24]
cmp ax, dx
jle 0x4dfee6
movzx ebx, byte [esp + 0x18]
jmp 0x4dfee8
xor ecx, ecx
mov ebx, 1
jmp 0x4debe2
mov ebx, dword [esp + 0xc]
xor ecx, ecx
jmp 0x4debe2
movzx eax, byte [esp + 0x38]
mov byte [esp + 0x1c], al
jmp 0x4dfd32
movzx eax, byte [esp + 0x3c]
mov byte [esp + 0x20], al
jmp 0x4dfcd3
movzx eax, byte [esp + 0x40]
mov byte [esp + 0x24], al
jmp 0x4dfc74
movzx eax, byte [esp + 0x44]
mov byte [esp + 0x28], al
jmp 0x4dfc15
movzx eax, byte [esp + 0x24]
mov byte [esp + 0x28], al
jmp 0x4df7d4
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x1c], al
jmp 0x4df76d
movzx esi, byte [esp + 0x20]
jmp 0x4df60b
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x28], al
jmp 0x4dfa55
movzx eax, byte [esp + 0x30]
mov byte [esp + 0x1c], al
jmp 0x4df9ef
movzx eax, byte [esp + 0x34]
mov byte [esp + 0x20], al
jmp 0x4df989
movzx eax, byte [esp + 0x34]
mov byte [esp + 0x30], al
jmp 0x4dfd91
movzx eax, byte [esp + 0x3c]
mov byte [esp + 0x38], al
jmp 0x4df2d1
movzx eax, byte [esp + 0x40]
mov byte [esp + 0x1c], al
jmp 0x4df26b
movzx eax, byte [esp + 0x44]
mov byte [esp + 0x20], al
jmp 0x4df205
movzx eax, byte [esp + 0x48]
mov byte [esp + 0x24], al
jmp 0x4df19f
movzx eax, byte [esp + 0x4c]
mov byte [esp + 0x28], al
jmp 0x4df139
movzx eax, byte [esp + 0x7d]
mov byte [esp + 0x2c], al
jmp 0x4df0d3
movzx eax, byte [esp + 0x50]
mov byte [esp + 0x30], al
jmp 0x4df06d
cmp dword [esp + 4], 5
jbe 0x4e0241
xor eax, eax
mov ebx, 5
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov esi, eax
mov ecx, dword [esp]
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
movzx eax, byte [edx + ebx - 1]
mov byte [esp + 0x1c], al
movzx edx, byte [edx + ebx]
mov byte [esp + 0x20], dl
movzx eax, byte [ecx + esi + 1]
movzx edx, byte [ecx + esi + 2]
mov byte [esp + 0x24], dl
movzx edx, byte [edi + ebx - 1]
mov byte [esp + 0x28], dl
movzx edx, byte [edi + ebx]
mov byte [esp + 0x2c], dl
movzx edx, byte [ecx + esi]
movzx ebp, byte [edi + ebx - 2]
add edx, ebp
sar edx, 1
mov ebp, dword [esp + 0x18]
add dl, byte [ebx + ebp - 2]
mov byte [ecx + ebx - 2], dl
movzx edx, byte [esp + 0x28]
add eax, edx
sar eax, 1
add al, byte [esp + 0x1c]
mov byte [ecx + ebx - 1], al
movzx eax, byte [esp + 0x24]
movzx edx, byte [esp + 0x2c]
add eax, edx
sar eax, 1
add al, byte [esp + 0x20]
mov byte [ecx + ebx], al
add esi, 3
mov eax, ebx
add ebx, 3
mov edx, dword [esp + 4]
cmp ebx, edx
jb 0x4e00ab
mov edi, dword [esp + 0x30]
mov ecx, esi
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
lea ebx, [eax + 1]
jmp 0x4debe2
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
jmp 0x4df47d
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov eax, edx
and eax, 0xfffffff8
add eax, 8
jmp 0x4df47d
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
and eax, 0xfffffffe
add eax, 2
jmp 0x4df47d
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov eax, edx
and eax, 0xfffffffc
add eax, 4
jmp 0x4df47d
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add ebp, 1
mov edi, dword [esp + 4]
add dword [esp], edi
add esi, edx
add dword [esp + 8], edx
mov eax, dword [esp + 8]
add dword [esp + 0x14], edx
cmp dword [esp + 0xa8], ebp
je 0x4dec70
cmp byte [eax - 1], 4
ja case.default.0x4e0278
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f70a0]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
jmp 0x4df47d
xor ecx, ecx
xor ebx, ebx
jmp 0x4debe2
xor eax, eax
jmp 0x4df47d
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4dedbb
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov dword [esp + 0x34], eax
jmp 0x4dfec3
mov ebx, 3
xor ecx, ecx
jmp 0x4debe2
add ebp, 1
add esi, 1
add dword [esp + 8], 1
mov eax, dword [esp + 8]
add dword [esp + 0x14], 1
cmp dword [esp + 0xa8], ebp
je 0x4dec70
cmp byte [eax - 1], 4
ja case.default.0x4e0278
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f70b4]
mov edi, ebp
mov ebp, edx
mov eax, dword [esp]
mov dword [esp + 0x10], eax
jmp case.0x4dea7f.3
mov edi, ebp
mov ebp, edx
mov eax, dword [esp]
mov dword [esp + 0x10], eax
jmp case.0x4dea7f.2
mov edi, ebp
mov ebp, edx
jmp 0x4dec48
mov eax, 0x24
jmp 0x4dec72