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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov ebx, eax
mov eax, edx
mov edx, ecx
mov esi, dword [esp + 0xa4]
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], edi
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x4df610
mov edi, dword [esp]
lea ebp, [edi + 1]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0xc]
lea edx, [esi + 1]
lea esi, [eax + edx]
mov dword [esp + 0x20], esi
add eax, 1
mov dword [esp + 4], eax
add eax, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0
xor edi, edi
mov esi, dword [esp + 8]
mov eax, dword [esp + 4]
cmp byte [eax - 1], 4
ja case.default.0x4e09d5
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f0068]
mov esi, dword [esp + 0x30]
mov ebp, ebx
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4df795
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4e0977
xor eax, eax
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
movzx edx, byte [ebx + eax]
shr dl, 1
add dl, byte [edi + eax]
mov byte [esi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4df48d
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jbe 0x4df7ee
lea eax, [ecx + 3]
mov esi, dword [esp]
cmp eax, esi
jae 0x4e08ac
xor esi, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + ecx + 1]
mov byte [esp + 0x1c], al
movzx ebx, byte [edi + ecx + 2]
mov byte [esp + 0x24], bl
movzx eax, byte [edi + ecx + 3]
mov byte [esp + 0x28], al
movzx eax, byte [edx + esi + 1]
movzx ebx, byte [edx + esi + 2]
mov byte [esp + 0x2c], bl
movzx ebx, byte [edx + esi + 3]
mov byte [esp + 0x30], bl
movzx ebx, byte [ebp + ecx + 1]
mov byte [esp + 0x34], bl
movzx ebx, byte [ebp + ecx + 2]
mov byte [esp + 0x38], bl
movzx ebx, byte [ebp + ecx + 3]
mov byte [esp + 0x3c], bl
movzx ebx, byte [edx + esi]
movzx edi, byte [ebp + ecx]
add ebx, edi
sar ebx, 1
mov edi, dword [esp + 0x14]
add bl, byte [edi + ecx]
mov byte [edx + ecx], bl
movzx ebx, byte [esp + 0x34]
add eax, ebx
sar eax, 1
add al, byte [esp + 0x1c]
mov byte [edx + ecx + 1], al
movzx eax, byte [esp + 0x2c]
movzx ebx, byte [esp + 0x38]
add eax, ebx
sar eax, 1
add al, byte [esp + 0x24]
mov byte [edx + ecx + 2], al
movzx eax, byte [esp + 0x30]
movzx ebx, byte [esp + 0x3c]
add eax, ebx
sar eax, 1
add al, byte [esp + 0x28]
mov byte [edx + ecx + 3], al
mov eax, ecx
add ecx, 4
add esi, 4
add eax, 7
mov edi, dword [esp]
cmp eax, edi
jb 0x4df4d9
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov edx, ecx
mov eax, esi
sub eax, ecx
mov esi, dword [esp + 8]
lea ebx, [esi + eax]
cmp dword [esp], ecx
je 0x4df5e5
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 8]
mov ebp, dword [esp + 4]
movzx eax, byte [ebx + edx]
movzx ecx, byte [esi + edx]
add eax, ecx
sar eax, 1
add al, byte [ebp + edx]
mov byte [edi + edx], al
add edx, 1
cmp dword [esp], edx
jne 0x4df5c2
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
add edi, 1
mov esi, dword [esp]
add dword [esp + 8], esi
add dword [esp + 0x20], ebp
add dword [esp + 4], ebp
add dword [esp + 0x10], ebp
cmp dword [esp + 0xa0], edi
jne 0x4df43c
xor eax, eax
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x30]
mov ebp, ebx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4df76a
mov ecx, dword [esp]
test ecx, ecx
je 0x4df5e5
xor eax, eax
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
movzx edx, byte [ebx + eax]
add dl, byte [edi + eax]
mov byte [esi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4df64c
mov edi, dword [esp + 0x14]
jmp 0x4df5e5
mov ebp, ebx
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4df688
mov ecx, dword [esp + 0x20]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp eax, ecx
jne 0x4df679
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
cmp dword [esp + 0xc], ecx
je 0x4df5e5
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
movzx ecx, byte [edx]
add cl, byte [eax]
mov byte [edx + ebx], cl
add eax, 1
add edx, 1
cmp eax, esi
jne 0x4df6a5
jmp 0x4df5e5
mov ebp, ebx
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ecx, dword [esp]
test ecx, ecx
je 0x4df5e5
mov ecx, dword [esp + 0x10]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp eax, ecx
jne 0x4df6d5
jmp 0x4df5e5
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4df713
mov eax, dword [esp + 0xc]
cmp eax, 8
ja case.0x4df6fe.0
jmp dword [eax*4 + 0x4f007c]
mov edx, dword [esp + 8]
test edx, edx
jne 0x4e0993
mov ebp, ebx
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4df736
mov ecx, dword [esp + 0x20]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp ecx, eax
jne 0x4df727
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
cmp dword [esp + 0xc], ecx
je 0x4df5e5
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
movzx ecx, byte [edx]
add cl, byte [eax]
mov byte [edx + ebx], cl
add eax, 1
add edx, 1
cmp esi, eax
jne 0x4df753
jmp 0x4df5e5
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov esi, dword [esp]
test esi, esi
je 0x4df5e5
mov ecx, dword [esp + 0x10]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp ecx, eax
jne 0x4df781
jmp 0x4df5e5
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4df7b8
mov ecx, dword [esp + 0x20]
movzx ebx, byte [eax]
mov byte [edx], bl
add eax, 1
add edx, 1
cmp ecx, eax
jne 0x4df7a9
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
mov esi, dword [esp]
cmp dword [esp + 0xc], esi
je 0x4df5e5
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
movzx eax, byte [ecx]
shr al, 1
add al, byte [edx]
mov byte [ecx + ebx], al
add edx, 1
add ecx, 1
cmp esi, edx
jne 0x4df7d5
jmp 0x4df5e5
je 0x4e08b7
cmp dword [esp + 0xc], 2
jne 0x4e08a0
mov ecx, 2
xor esi, esi
cmp dword [esp], 3
jbe 0x4df59c
mov dword [esp + 0x24], edi
mov ebx, esi
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx + 1]
mov byte [esp + 0x14], al
movzx eax, byte [esi + ebx + 1]
movzx edx, byte [ebp + ecx + 1]
mov byte [esp + 0x1c], dl
movzx edx, byte [esi + ebx]
movzx edi, byte [ebp + ecx]
add edx, edi
sar edx, 1
mov edi, dword [esp + 4]
add dl, byte [edi + ecx]
mov byte [esi + ecx], dl
movzx edi, byte [esp + 0x1c]
add eax, edi
sar eax, 1
add al, byte [esp + 0x14]
mov byte [esi + ecx + 1], al
mov eax, ecx
add ecx, 2
add ebx, 2
add eax, 3
mov edi, dword [esp]
cmp eax, edi
jb 0x4df822
mov edi, dword [esp + 0x24]
mov esi, ebx
mov ebp, dword [esp + 0x28]
jmp 0x4df59c
mov eax, dword [esp]
cmp eax, 7
jbe 0x4e0980
mov edx, dword [esp + 0x18]
lea ecx, [eax - 8]
mov eax, ecx
shr eax, 3
add eax, 1
add eax, eax
add eax, eax
add eax, eax
add eax, edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov byte [esp + 0x24], 0
mov byte [esp + 0x44], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x48], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x4c], 0
mov byte [esp + 0x30], 0
mov byte [esp + 0x50], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x54], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x58], 0
mov byte [esp + 0x3c], 0
mov byte [esp + 0x5c], 0
mov byte [esp + 0x40], 0
mov byte [esp + 0x60], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x88], ecx
movzx edi, byte [esp + 0x60]
mov esi, dword [esp + 0x1c]
movzx eax, byte [esi]
movzx ecx, byte [esp + 0x5c]
mov byte [esp + 0x64], cl
movzx ecx, byte [esi + 1]
mov byte [esp + 0x5c], cl
movzx ebx, byte [esp + 0x58]
mov byte [esp + 0x75], bl
movzx ebx, byte [esi + 2]
mov byte [esp + 0x58], bl
movzx edx, byte [esp + 0x54]
mov byte [esp + 0x76], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x54], dl
movzx ecx, byte [esp + 0x50]
mov byte [esp + 0x77], cl
movzx ecx, byte [esi + 4]
mov byte [esp + 0x50], cl
movzx ebx, byte [esp + 0x4c]
mov byte [esp + 0x68], bl
movzx ebx, byte [esi + 5]
mov byte [esp + 0x4c], bl
movzx edx, byte [esp + 0x48]
mov byte [esp + 0x6c], dl
movzx edx, byte [esi + 6]
mov byte [esp + 0x48], dl
movzx ecx, byte [esp + 0x44]
mov byte [esp + 0x70], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x44], cl
mov byte [esp + 0x60], al
movzx esi, al
mov eax, edi
movzx ebx, al
mov eax, esi
sub eax, ebx
mov edx, eax
neg edx
cmovs edx, eax
movzx eax, byte [esp + 0x40]
mov ecx, eax
sub ecx, ebx
mov ebp, ecx
neg ebp
cmovns ecx, ebp
add eax, esi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x40]
movzx eax, byte [esp + 0x60]
cmovl esi, eax
mov eax, esi
cmp dx, bx
cmovg eax, edi
mov edi, dword [esp + 0x14]
movzx ebx, byte [edi]
add eax, ebx
mov byte [esp + 0x40], al
movzx edi, byte [esp + 0x5c]
movzx ebx, byte [esp + 0x64]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x3c]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x3c]
movzx ebp, byte [esp + 0x5c]
cmovl esi, ebp
mov eax, esi
cmp dx, bx
movzx esi, byte [esp + 0x64]
mov ebp, eax
cmovle esi, ebp
mov eax, esi
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
add eax, ecx
mov byte [esp + 0x3c], al
movzx edi, byte [esp + 0x58]
movzx ebx, byte [esp + 0x75]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x38]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x38]
movzx ebp, byte [esp + 0x58]
cmovl esi, ebp
mov eax, esi
cmp dx, bx
movzx esi, byte [esp + 0x75]
mov ebp, eax
cmovle esi, ebp
mov ebx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 2]
add ebx, eax
mov byte [esp + 0x38], bl
movzx edi, byte [esp + 0x54]
movzx ebx, byte [esp + 0x76]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x34]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x34]
movzx ebp, byte [esp + 0x54]
cmovl esi, ebp
mov eax, esi
cmp dx, bx
movzx esi, byte [esp + 0x76]
mov ebp, eax
cmovle esi, ebp
mov edx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 3]
add edx, eax
mov byte [esp + 0x34], dl
movzx edi, byte [esp + 0x50]
movzx ebx, byte [esp + 0x77]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x30]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x30]
movzx ebp, byte [esp + 0x50]
cmovl esi, ebp
mov eax, esi
cmp dx, bx
movzx esi, byte [esp + 0x77]
mov ebp, eax
cmovle esi, ebp
mov ecx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 4]
add ecx, eax
mov byte [esp + 0x30], cl
movzx edi, byte [esp + 0x4c]
movzx ebx, byte [esp + 0x68]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x2c]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x2c]
movzx ebp, byte [esp + 0x4c]
cmovl esi, ebp
cmp dx, bx
movzx ebx, byte [esp + 0x68]
cmovle ebx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 5]
add ebx, eax
mov byte [esp + 0x2c], bl
movzx edi, byte [esp + 0x48]
movzx ebx, byte [esp + 0x6c]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x28]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x28]
movzx ebp, byte [esp + 0x48]
cmovl esi, ebp
cmp dx, bx
movzx edx, byte [esp + 0x6c]
cmovle edx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 6]
add edx, eax
mov byte [esp + 0x28], dl
movzx edi, byte [esp + 0x44]
movzx ebx, byte [esp + 0x70]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x24]
mov esi, eax
sub esi, ebx
mov ebp, esi
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x24]
movzx ebp, byte [esp + 0x44]
cmovl esi, ebp
cmp dx, bx
movzx ecx, byte [esp + 0x70]
cmovle ecx, esi
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 7]
add ecx, eax
mov byte [esp + 0x24], cl
mov esi, dword [esp + 0x78]
movzx eax, byte [esp + 0x40]
mov byte [esi], al
movzx eax, byte [esp + 0x3c]
mov byte [esi + 1], al
movzx ebx, byte [esp + 0x38]
mov byte [esi + 2], bl
mov eax, esi
movzx edx, byte [esp + 0x34]
mov byte [esi + 3], dl
movzx ecx, byte [esp + 0x30]
mov byte [esi + 4], cl
movzx ebx, byte [esp + 0x2c]
mov byte [esi + 5], bl
movzx edx, byte [esp + 0x28]
mov byte [esi + 6], dl
movzx ecx, byte [esp + 0x24]
mov byte [esi + 7], cl
add dword [esp + 0x1c], 8
mov esi, dword [esp + 0x1c]
add edi, 8
mov dword [esp + 0x14], edi
add eax, 8
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x7c]
cmp esi, eax
jne 0x4df926
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
and eax, 0xfffffff8
add eax, 8
cmp dword [esp], eax
je 0x4df5e5
mov esi, dword [esp + 4]
add esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0xc]
sub eax, esi
mov ebx, dword [esp + 0x18]
add ebx, eax
mov esi, dword [esp + 8]
add eax, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebp
mov edi, ebx
mov ebp, eax
mov eax, dword [esp + 0xc]
movzx eax, byte [edi + eax]
mov edx, eax
movzx esi, byte [edi]
mov dword [esp + 0x18], eax
sub eax, esi
mov ecx, eax
neg ecx
cmovns eax, ecx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebp]
mov ebx, eax
sub ebx, esi
mov ecx, ebx
neg ecx
cmovns ebx, ecx
mov ecx, dword [esp + 0x18]
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 [ebp]
cmovge edx, ebx
cmp cx, si
movzx ecx, byte [edi]
cmovg edx, ecx
mov eax, dword [esp + 0x14]
add dl, byte [eax]
mov esi, dword [esp + 0xc]
mov byte [ebp + esi], dl
add eax, 1
mov dword [esp + 0x14], eax
add edi, 1
add ebp, 1
mov esi, dword [esp + 0x10]
cmp eax, esi
jne 0x4dfd8f
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
jmp 0x4df5e5
xor eax, eax
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4dfd5e
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov edi, dword [esp + 4]
movzx edx, byte [ebx + eax]
add dl, byte [edi + eax]
mov byte [esi + eax], dl
add eax, 1
cmp ecx, eax
jne 0x4dfe3b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
jmp 0x4dfd5e
cmp dword [esp], 1
jbe 0x4e0980
mov esi, dword [esp + 0x18]
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 4]
add eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
add eax, 1
mov dword [esp + 0x34], eax
mov eax, dword [esp]
lea ecx, [eax - 2]
mov eax, ecx
and eax, 0xfffffffe
add eax, 3
add eax, esi
mov dword [esp + 0x3c], eax
xor edx, edx
mov byte [esp + 0x1c], 0
xor eax, eax
mov byte [esp + 0x24], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
mov edi, eax
mov byte [esp + 0x2c], dl
mov dword [esp + 0x48], ecx
movzx ebp, byte [esp + 0x24]
mov esi, dword [esp + 0x14]
movzx eax, byte [esi - 1]
movzx ecx, byte [esp + 0x1c]
mov byte [esp + 0x30], cl
movzx ecx, byte [esi]
mov byte [esp + 0x1c], cl
mov byte [esp + 0x24], al
mov ebx, ebp
movzx esi, bl
mov ebx, eax
sub ebx, esi
mov edx, ebx
neg edx
mov ecx, edx
cmovs ecx, ebx
mov ebx, edi
movzx ebx, bl
mov dword [esp + 0x38], ebx
sub ebx, esi
mov edx, ebx
neg edx
cmovns ebx, edx
mov edx, dword [esp + 0x38]
add eax, edx
sub eax, esi
sub eax, esi
mov edx, eax
neg edx
mov esi, edx
cmovs esi, eax
cmp cx, bx
cmovg ecx, ebx
movzx edx, byte [esp + 0x24]
cmovg edi, edx
cmp cx, si
cmovg edi, ebp
mov ebp, dword [esp + 0x28]
movzx edx, byte [ebp - 1]
add edi, edx
movzx eax, byte [esp + 0x1c]
movzx esi, byte [esp + 0x30]
mov edx, eax
sub edx, esi
mov ebx, edx
neg edx
mov ecx, edx
cmovs ecx, ebx
movzx ebp, byte [esp + 0x2c]
mov edx, ebp
sub edx, esi
mov ebx, edx
neg edx
cmovns ebx, edx
add eax, ebp
sub eax, esi
sub eax, esi
mov edx, eax
neg edx
mov esi, edx
cmovs esi, eax
cmp cx, bx
cmovg ecx, ebx
movzx edx, byte [esp + 0x1c]
movzx eax, byte [esp + 0x2c]
cmovg eax, edx
mov edx, eax
cmp cx, si
movzx ebx, byte [esp + 0x30]
cmovg edx, ebx
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx]
add edx, eax
mov byte [esp + 0x2c], dl
mov ebx, dword [esp + 0x34]
mov eax, edi
mov byte [ebx - 1], al
mov byte [ebx], dl
add dword [esp + 0x14], 2
mov eax, dword [esp + 0x14]
add ecx, 2
mov dword [esp + 0x28], ecx
add ebx, 2
mov dword [esp + 0x34], ebx
mov esi, dword [esp + 0x3c]
cmp eax, esi
jne 0x4dfeb8
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
and eax, 0xfffffffe
add eax, 2
jmp 0x4dfd5e
cmp dword [esp], 2
jbe 0x4e0980
mov byte [esp + 0x30], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x14], 0
xor eax, eax
mov byte [esp + 0x2c], 0
xor edx, edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
mov byte [esp + 0x24], al
mov byte [esp + 0x28], al
jmp 0x4e000c
mov edx, eax
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x34], al
mov esi, dword [esp + 0x18]
movzx eax, byte [esi + edx]
movzx ebx, byte [esp + 0x14]
mov byte [esp + 0x38], bl
movzx ecx, byte [esi + edx + 1]
mov byte [esp + 0x14], cl
movzx ebx, byte [esp + 0x1c]
mov byte [esp + 0x3c], bl
movzx ebx, byte [esi + edx + 2]
mov byte [esp + 0x1c], bl
mov byte [esp + 0x2c], al
movzx esi, byte [esp + 0x34]
mov edi, eax
sub edi, esi
mov ebx, edi
neg edi
mov ecx, edi
cmovs ecx, ebx
movzx ebx, byte [esp + 0x24]
mov edi, ebx
sub ebx, esi
mov ebp, ebx
neg ebp
cmovns ebx, ebp
add eax, edi
sub eax, esi
sub eax, esi
mov esi, eax
neg esi
cmovs esi, eax
cmp cx, bx
cmovg ecx, ebx
movzx eax, byte [esp + 0x2c]
movzx ebx, byte [esp + 0x24]
cmovg ebx, eax
cmp cx, si
movzx eax, byte [esp + 0x34]
mov ecx, ebx
cmovg ecx, eax
mov edi, dword [esp + 4]
movzx eax, byte [edi + edx]
add ecx, eax
mov byte [esp + 0x24], cl
movzx eax, byte [esp + 0x14]
movzx esi, byte [esp + 0x38]
mov ebp, eax
sub ebp, esi
mov ebx, ebp
neg ebp
mov ecx, ebp
cmovs ecx, ebx
movzx ebx, byte [esp + 0x28]
mov dword [esp + 4], ebx
sub ebx, esi
mov ebp, ebx
neg ebp
cmovns ebx, ebp
mov ebp, dword [esp + 4]
add eax, ebp
sub eax, esi
sub eax, esi
mov esi, eax
neg esi
cmovs esi, eax
cmp cx, bx
cmovg ecx, ebx
movzx eax, byte [esp + 0x14]
movzx ebx, byte [esp + 0x28]
cmovg ebx, eax
cmp cx, si
movzx eax, byte [esp + 0x38]
cmovg ebx, eax
mov ecx, ebx
mov dword [esp + 4], edi
movzx eax, byte [edx + edi + 1]
add ecx, eax
mov byte [esp + 0x28], cl
movzx eax, byte [esp + 0x1c]
movzx esi, byte [esp + 0x3c]
mov ebp, eax
sub ebp, esi
mov ecx, ebp
neg ecx
cmovs ecx, ebp
movzx ebp, byte [esp + 0x30]
mov ebx, ebp
sub ebx, esi
mov edi, ebx
neg edi
cmovns ebx, edi
add eax, ebp
sub eax, esi
sub eax, esi
mov esi, eax
neg esi
cmovs esi, eax
cmp cx, bx
cmovg ecx, ebx
movzx edi, byte [esp + 0x30]
movzx ebx, byte [esp + 0x1c]
cmovg edi, ebx
mov ebx, edi
cmp cx, si
movzx eax, byte [esp + 0x3c]
cmovle eax, ebx
mov edi, dword [esp + 4]
movzx ecx, byte [edx + edi + 2]
add eax, ecx
mov byte [esp + 0x30], al
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 0x24]
mov byte [edi + edx], cl
movzx ecx, byte [esp + 0x28]
mov byte [edi + edx + 1], cl
mov byte [edi + edx + 2], al
lea eax, [edx + 3]
add edx, 5
mov edi, dword [esp]
cmp edx, edi
jb 0x4e000a
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
jmp 0x4dfd5e
cmp dword [esp], 3
jbe 0x4e0980
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
mov eax, dword [esp]
lea ecx, [eax - 4]
mov eax, ecx
and eax, 0xfffffffc
add eax, 4
add eax, esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
xor eax, eax
mov byte [esp + 0x2c], 0
xor esi, esi
mov byte [esp + 0x30], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x3c], 0
mov dword [esp + 0x58], edi
mov edx, esi
mov byte [esp + 0x38], dl
mov dword [esp + 0x5c], ebp
mov ebp, eax
mov dword [esp + 0x60], ecx
movzx edi, byte [esp + 0x3c]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx]
movzx ecx, byte [esp + 0x34]
mov byte [esp + 0x48], cl
movzx ecx, byte [edx + 1]
mov byte [esp + 0x34], cl
movzx ebx, byte [esp + 0x30]
mov byte [esp + 0x40], bl
mov ecx, edx
movzx ebx, byte [edx + 2]
mov byte [esp + 0x30], bl
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x44], dl
movzx edx, byte [ecx + 3]
mov byte [esp + 0x2c], dl
mov byte [esp + 0x3c], al
mov edx, eax
mov eax, edi
movzx ebx, al
mov dword [esp + 0x50], edx
mov eax, edx
sub eax, ebx
mov esi, eax
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x28]
mov esi, eax
sub esi, ebx
mov ecx, esi
neg esi
cmovns ecx, esi
mov esi, dword [esp + 0x50]
add eax, esi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x28]
movzx eax, byte [esp + 0x3c]
cmovl esi, eax
mov eax, esi
cmp dx, bx
cmovg eax, edi
mov edi, dword [esp + 0x1c]
movzx edx, byte [edi]
add eax, edx
mov byte [esp + 0x28], al
movzx edi, byte [esp + 0x34]
movzx ebx, byte [esp + 0x48]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x24]
mov esi, eax
sub esi, ebx
mov ecx, esi
neg esi
cmovns ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x24]
movzx edi, byte [esp + 0x34]
cmovl esi, edi
cmp dx, bx
movzx ecx, byte [esp + 0x48]
cmovle ecx, esi
mov edi, dword [esp + 0x1c]
movzx eax, byte [edi + 1]
add ecx, eax
mov byte [esp + 0x24], cl
movzx edi, byte [esp + 0x30]
movzx ebx, byte [esp + 0x40]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
movzx eax, byte [esp + 0x38]
mov esi, eax
sub esi, ebx
mov ecx, esi
neg esi
cmovns ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x30]
movzx eax, byte [esp + 0x38]
cmovl eax, esi
cmp dx, bx
movzx ebx, byte [esp + 0x40]
cmovg eax, ebx
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + 2]
add eax, ebx
mov byte [esp + 0x38], al
movzx edi, byte [esp + 0x2c]
movzx ebx, byte [esp + 0x44]
mov esi, edi
sub esi, ebx
mov eax, esi
neg esi
mov edx, esi
cmovs edx, eax
mov eax, ebp
movzx eax, al
mov esi, eax
sub esi, ebx
mov ecx, esi
neg esi
cmovns ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov esi, eax
neg esi
mov ebx, esi
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx esi, byte [esp + 0x2c]
cmovl ebp, esi
cmp dx, bx
movzx ebx, byte [esp + 0x44]
cmovg ebp, ebx
mov edi, dword [esp + 0x1c]
movzx esi, byte [edi + 3]
add ebp, esi
mov ebx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x28]
mov byte [ebx], al
movzx ecx, byte [esp + 0x24]
mov byte [ebx + 1], cl
movzx eax, byte [esp + 0x38]
mov byte [ebx + 2], al
mov eax, ebp
mov byte [ebx + 3], al
add dword [esp + 0x14], 4
mov eax, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x1c], edi
add ebx, 4
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x54]
cmp eax, edi
jne 0x4e020f
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
and eax, 0xfffffffc
add eax, 4
jmp 0x4dfd5e
cmp dword [esp], 5
jbe 0x4e0980
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov byte [esp + 0x1c], 0
mov byte [esp + 0x30], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x34], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x3c], 0
xor ecx, ecx
mov byte [esp + 0x40], 0
xor edx, edx
mov byte [esp + 0x4c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], edi
mov byte [esp + 0x48], dl
mov dword [esp + 0x70], ebp
mov byte [esp + 0x44], cl
jmp 0x4e04a4
mov dword [esp + 0x68], eax
movzx edi, byte [esp + 0x4c]
mov esi, dword [esp + 0x50]
movzx eax, byte [esi]
movzx ecx, byte [esp + 0x40]
mov byte [esp + 0x58], cl
movzx ecx, byte [esi + 1]
mov byte [esp + 0x40], cl
movzx ebx, byte [esp + 0x3c]
mov byte [esp + 0x54], bl
movzx ebx, byte [esi + 2]
mov byte [esp + 0x3c], bl
movzx edx, byte [esp + 0x38]
mov byte [esp + 0x75], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x38], dl
movzx ebx, byte [esp + 0x34]
mov byte [esp + 0x5c], bl
movzx ecx, byte [esi + 4]
mov byte [esp + 0x34], cl
movzx edx, byte [esp + 0x30]
mov byte [esp + 0x60], dl
movzx ebx, byte [esi + 5]
mov byte [esp + 0x30], bl
mov byte [esp + 0x4c], al
movzx esi, al
mov eax, edi
movzx ebx, al
mov eax, esi
sub eax, ebx
mov edx, eax
neg edx
cmovs edx, eax
movzx eax, byte [esp + 0x48]
mov ecx, eax
sub ecx, ebx
mov ebp, ecx
neg ebp
cmovns ecx, ebp
add eax, esi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x48]
movzx eax, byte [esp + 0x4c]
cmovl ebp, eax
mov eax, ebp
cmp dx, bx
cmovg eax, edi
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi]
add eax, ecx
mov byte [esp + 0x48], al
movzx edi, byte [esp + 0x40]
movzx ebx, byte [esp + 0x58]
mov ebp, edi
sub ebp, ebx
mov eax, ebp
neg ebp
mov edx, ebp
cmovs edx, eax
movzx eax, byte [esp + 0x44]
mov ebp, eax
sub ebp, ebx
mov esi, ebp
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x40]
movzx eax, byte [esp + 0x44]
cmovl eax, ebp
cmp dx, bx
movzx ebp, byte [esp + 0x58]
cmovg eax, ebp
mov edi, dword [esp + 0x14]
movzx ebx, byte [edi + 1]
add eax, ebx
mov byte [esp + 0x44], al
movzx edi, byte [esp + 0x3c]
movzx ebx, byte [esp + 0x54]
mov ebp, edi
sub ebp, ebx
mov eax, ebp
neg ebp
mov edx, ebp
cmovs edx, eax
movzx eax, byte [esp + 0x2c]
mov ebp, eax
sub ebp, ebx
mov esi, ebp
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x2c]
movzx edi, byte [esp + 0x3c]
cmovl ebp, edi
cmp dx, bx
movzx ecx, byte [esp + 0x54]
cmovle ecx, ebp
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 2]
add ecx, eax
mov byte [esp + 0x2c], cl
movzx edi, byte [esp + 0x38]
movzx ebx, byte [esp + 0x75]
mov ebp, edi
sub ebp, ebx
mov eax, ebp
neg ebp
mov edx, ebp
cmovs edx, eax
movzx eax, byte [esp + 0x28]
mov ebp, eax
sub ebp, ebx
mov esi, ebp
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x28]
movzx edi, byte [esp + 0x38]
cmovl ebp, edi
cmp dx, bx
movzx edx, byte [esp + 0x75]
cmovle edx, ebp
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 3]
add edx, eax
mov byte [esp + 0x28], dl
movzx edi, byte [esp + 0x34]
movzx ebx, byte [esp + 0x5c]
mov ebp, edi
sub ebp, ebx
mov eax, ebp
neg ebp
mov edx, ebp
cmovs edx, eax
movzx eax, byte [esp + 0x24]
mov ebp, eax
sub ebp, ebx
mov esi, ebp
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x24]
movzx ecx, byte [esp + 0x34]
cmovl ebp, ecx
cmp dx, bx
movzx ebx, byte [esp + 0x5c]
cmovle ebx, ebp
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 4]
add ebx, ecx
mov byte [esp + 0x24], bl
movzx edi, byte [esp + 0x30]
movzx ebx, byte [esp + 0x60]
mov ebp, edi
sub ebp, ebx
mov eax, ebp
neg ebp
mov edx, ebp
cmovs edx, eax
movzx eax, byte [esp + 0x1c]
mov ebp, eax
sub ebp, ebx
mov esi, ebp
neg ebp
mov ecx, ebp
cmovs ecx, esi
add eax, edi
sub eax, ebx
sub eax, ebx
mov ebp, eax
neg ebp
mov ebx, ebp
cmovs ebx, eax
cmp cx, dx
cmovl edx, ecx
movzx ebp, byte [esp + 0x1c]
movzx ecx, byte [esp + 0x30]
cmovl ebp, ecx
cmp dx, bx
movzx eax, byte [esp + 0x60]
cmovle eax, ebp
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 5]
add eax, ecx
mov byte [esp + 0x1c], al
mov edx, dword [esp + 0x64]
movzx eax, byte [esp + 0x48]
mov byte [edx], al
movzx eax, byte [esp + 0x44]
mov byte [edx + 1], al
movzx ecx, byte [esp + 0x2c]
mov byte [edx + 2], cl
mov ecx, edx
movzx edx, byte [esp + 0x28]
mov byte [ecx + 3], dl
mov edx, ecx
movzx ebx, byte [esp + 0x24]
mov byte [ecx + 4], bl
movzx eax, byte [esp + 0x1c]
mov byte [ecx + 5], al
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 6]
add dword [esp + 0x50], 6
add edi, 6
mov dword [esp + 0x14], edi
add edx, 6
mov dword [esp + 0x64], edx
lea edx, [ecx + 0xb]
mov edi, dword [esp]
cmp edx, edi
jb 0x4e04a0
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
jmp 0x4dfd5e
mov dword [esp + 0x30], esi
mov ebx, ebp
mov ecx, dword [esp]
test ecx, ecx
je 0x4e09a8
xor ebp, ebp
xor eax, eax
xor esi, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
mov edx, ebp
mov byte [esp + 0x14], al
movzx edi, byte [esp + 0x14]
mov ecx, edi
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + esi]
mov byte [esp + 0x14], al
mov byte [esp + 0x1c], cl
mov ebx, eax
sub ebx, edi
mov ebp, ebx
neg ebp
mov ecx, ebp
cmovs ecx, ebx
movzx ebx, dl
mov dword [esp + 0x24], ebx
sub ebx, edi
mov ebp, ebx
neg ebp
cmovns ebx, ebp
mov ebp, dword [esp + 0x24]
add eax, ebp
sub eax, edi
sub eax, edi
mov edi, eax
neg edi
cmovs edi, eax
cmp cx, bx
cmovg ecx, ebx
movzx eax, byte [esp + 0x14]
cmovg edx, eax
cmp cx, di
movzx ecx, byte [esp + 0x1c]
cmovg edx, ecx
mov eax, dword [esp + 4]
add dl, byte [eax + esi]
mov eax, dword [esp + 8]
mov byte [eax + esi], dl
add esi, 1
cmp dword [esp], esi
jne 0x4e07e8
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
add edi, 1
mov esi, dword [esp]
add dword [esp + 8], esi
add dword [esp + 0x20], ebx
add dword [esp + 4], ebx
mov eax, dword [esp + 4]
add dword [esp + 0x10], ebx
cmp dword [esp + 0xa0], edi
je 0x4df610
cmp byte [eax - 1], 4
ja case.default.0x4e09d5
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f00a0]
xor esi, esi
mov ecx, 1
jmp 0x4df59c
mov ecx, dword [esp + 0xc]
xor esi, esi
jmp 0x4df59c
mov ecx, 3
xor esi, esi
cmp dword [esp], 5
jbe 0x4df59c
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + ecx + 1]
mov byte [esp + 0x1c], al
movzx edx, byte [edi + ecx + 2]
mov byte [esp + 0x24], dl
movzx eax, byte [ebx + esi + 1]
movzx edx, byte [ebx + esi + 2]
mov byte [esp + 0x28], dl
movzx edx, byte [ebp + ecx + 1]
mov byte [esp + 0x2c], dl
movzx edx, byte [ebp + ecx + 2]
mov byte [esp + 0x30], dl
movzx edx, byte [ebx + esi]
movzx edi, byte [ebp + ecx]
add edx, edi
sar edx, 1
mov edi, dword [esp + 0x14]
add dl, byte [edi + ecx]
mov byte [ebx + ecx], dl
movzx edx, byte [esp + 0x2c]
add eax, edx
sar eax, 1
add al, byte [esp + 0x1c]
mov byte [ebx + ecx + 1], al
movzx eax, byte [esp + 0x28]
movzx edx, byte [esp + 0x30]
add eax, edx
sar eax, 1
add al, byte [esp + 0x24]
mov byte [ebx + ecx + 2], al
mov eax, ecx
add ecx, 3
add esi, 3
add eax, 5
mov edi, dword [esp]
cmp eax, edi
jb 0x4e08e0
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
jmp 0x4df59c
xor esi, esi
xor ecx, ecx
jmp 0x4df59c
xor eax, eax
jmp 0x4dfd5e
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4df711
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
jmp 0x4e07c9
add edi, 1
add dword [esp + 0x20], 1
add dword [esp + 4], 1
mov eax, dword [esp + 4]
add dword [esp + 0x10], 1
cmp dword [esp + 0xa0], edi
je 0x4df610
cmp byte [eax - 1], 4
ja case.default.0x4e09d5
movzx eax, byte [eax - 1]
jmp dword [eax*4 + 0x4f00b4]
mov ebp, ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
jmp case.0x4df452.3
mov ebp, ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
jmp case.0x4df452.2
mov ebp, ebx
jmp 0x4df5e5
mov eax, 0x24
jmp 0x4df612