Function at 0x42e050
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov ebx, dword [0x455640]
mov dword [esp + 0x14], 0x296d2b4f
mov dword [esp + 0x18], 0x2d9e2f98
mov dword [esp + 0x1c], 0x31953368
mov dword [esp + 0x20], 0x35913784
mov dword [esp + 0x24], 0x393a3b5f
mov dword [esp + 0x28], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x17
ja 0x42e0db
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x6c]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0x6c]
push eax
call fcn.00431380
add esp, 8
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, 0x18
jb 0x42e0b0
lea edi, [esp + 0x68]
lea esi, [esp + 0x14]
push edi
push 0
push 0
push 9
push esi
push 0
call ebx
mov ebx, dword [esp + 0x68]
test ebx, ebx
jns 0x42e0fe
mov eax, 0xffffffff
jmp 0x42e101
lea eax, [ebx + ebx]
push eax
call fcn.0040c6c0
add esp, 4
mov dword [esp + 0x88], eax
mov ebp, dword [0x455640]
mov dword [esp + 0x14], 0x9d50b37
mov dword [esp + 0x18], 0x5f607f8
mov dword [esp + 0x1c], 0x1fd03d8
mov dword [esp + 0x20], 0x1de11f8c
mov dword [esp + 0x24], 0x191a1b27
mov word [esp + 0x28], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x15
ja 0x42e18b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x6c]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0x6c]
push eax
call fcn.004313f0
add esp, 8
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, 0x16
jb 0x42e160
push edi
push ebx
push dword [esp + 0x90]
push 9
push esi
push 0
call ebp
mov dword [esp + 0x14], 0x77df0944
mov dword [esp + 0x18], 0x73dd75eb
mov dword [esp + 0x1c], 0x7fe071e3
mov dword [esp + 0x20], 0x7b7a7dd0
lea ebx, [esp + 0x24]
mov word [esp + 0x24], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x11
ja 0x42e20b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x6c]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0x6c]
push eax
call fcn.00431430
add esp, 8
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, 0x12
jb 0x42e1e0
lea edi, [esp + 0xd4]
lea eax, [esp + 0x14]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe4]
mov eax, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x14], 0x49dd4bf0
mov dword [esp + 0x18], 0x45db47c5
mov dword [esp + 0x1c], 0x41cc43d5
mov dword [esp + 0x20], 0xbd03bfdc
mov dword [esp + 0x24], 0xb928bb23
mov dword [esp + 0x28], 0xb538b727
mov dword [esp + 0x2c], 0xb1b2b333
lea ebp, [esp + 0x30]
mov byte [esp + 0x30], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x1c
ja 0x42e2bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x6c]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0x6c]
push eax
call fcn.00431490
add esp, 8
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, 0x1d
jb 0x42e290
lea ebx, [esp + 0x6c]
lea eax, [esp + 0x14]
mov edi, ebx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x88]
xor ecx, ecx
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov dword [esp + 0x14], 0x36b0144
mov dword [esp + 0x18], 0x7650577
mov dword [esp + 0x1c], 0xb780967
mov dword [esp + 0x20], 0xf5e0d68
mov dword [esp + 0x24], 0x13501144
lea ebp, [esp + 0x28]
mov dword [esp + 0x28], 0x1514
mov byte [esp + 0x2c], 0
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 0x18
ja 0x42e36a
nop
nop
mov eax, dword [esp + 0xb0]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0xb0]
push eax
call fcn.004314f0
add esp, 8
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 0x19
jb 0x42e330
mov esi, dword [esp + 0xf8]
lea eax, [esp + 0xb0]
lea edx, [esp + 0x14]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ebp, esi
lea ecx, [esp + 0xd4]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], eax
mov ebx, dword [esp + 0x88]
mov eax, ebx
add eax, 2
mov dword [esp + 0x94], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x90], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4517b4]
jmp dword [0x4517bc]
push ebx
call fcn.0040c6d0
add esp, 4
mov eax, dword [esp + 0x90]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + ecx + 0xc8]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42e440
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x98], eax
mov edx, eax
sar edx, 1
mov eax, dword [esp + 0x68]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x5c], edx
jns 0x42e480
mov eax, 0xffffffff
jmp 0x42e489
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.0040c6c0
add esp, 4
mov edi, eax
movzx eax, word [ebx]
mov esi, edi
test ax, ax
je 0x42e4c1
mov ecx, dword [esp + 0x94]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e4b0
mov word [esi], 0x5c
mov dword [esp + 0x14], 0x8fd28924
mov dword [esp + 0x18], 0x83258d3f
mov dword [esp + 0x1c], 0x873a8121
mov dword [esp + 0x20], 0x9bcd85e4
mov dword [esp + 0x24], 0x9f3f992c
mov dword [esp + 0x28], 0x93379d28
mov dword [esp + 0x2c], 0x9190
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42e536
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00431570
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x42e510
add esi, 2
mov ecx, dword [esp + 0x4c]
movzx eax, word [ecx]
test ax, ax
je 0x42e561
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e550
mov word [esi], 0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x42e591
lea ecx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e580
mov word [esi], 0
lea eax, [esp + 0xa0]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.004493c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4517c4]
mov esi, ebx
xor ebx, ebx
jmp dword [0x451844]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0xa8]
call fcn.00449710
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x4517cc]
mov esi, dword [esp + 0x9c]
lea eax, [esi + 1]
push eax
call fcn.0040c6c0
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0xac]
call fcn.004497f0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x4517d4]
jmp dword [0x4517dc]
mov eax, dword [esp + 0x9c]
mov byte [esi + eax], 0
push esi
call fcn.00403ba0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x9c]
mov byte [esi + eax], 0
push esi
call fcn.00403ba0
add esp, 4
jmp dword [0x4517e8]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
jmp dword [ecx*4 + 0x4517ec]
mov dword [esp + 0x54], eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edi
jmp dword [0x4517f4]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0xa8]
jmp dword [ecx*4 + 0x451804]
cmp eax, 0xfffffff8
jge 0x42e6e5
mov eax, 0xffffffff
jmp 0x42e6ef
mov eax, dword [esp + 0x98]
add eax, 0x10
push eax
call fcn.0040c6c0
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x11fa1fcd
mov dword [esp + 0x18], 0x15cc1380
mov dword [esp + 0x1c], 0x99e1780
mov dword [esp + 0x20], 0xd0a0b9c
lea eax, [esp + 0x24]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x12
ja 0x42e76b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 8]
push eax
call fcn.00431610
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x13
jb 0x42e740
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x42e7a1
mov eax, dword [esp + 0x4c]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e790
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42e7d1
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e7c0
mov word [eax], 0
mov ecx, ebp
push dword [esp + 0x60]
push dword [esp + 0x68]
push edi
call fcn.0040d270
mov dword [esp + 0x10], eax
jmp dword [0x45180c]
push edi
call fcn.0040c6d0
add esp, 4
jmp dword [0x451818]
jmp dword [0x451818]
push 0xd80d2c4a
push dword [0x455638]
call fcn.00448a40
add esp, 8
push dword [esp + 0x64]
call eax
nop
nop
push 0xd80d2c4a
push dword [0x455638]
call fcn.00448a40
add esp, 8
push dword [esp + 0x64]
call eax
jmp dword [0x45181c]
mov edi, dword [esp + 0xac]
jmp dword [0x451824]
jmp dword [0x45183c]
mov esi, ebx
mov ebx, ebp
mov ebp, edi
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0x34353a3b
mov byte [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42e8d6
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.004311d0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42e8b0
mov eax, dword [0x455644]
test eax, eax
je 0x42e910
mov ecx, dword [esp + 0x14]
xor edx, edx
mov edi, dword [0x455648]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42e900
inc edx
cmp eax, edx
jne 0x42e8f0
jmp 0x42e910
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42e930
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10]
jmp dword [0x451844]
push dword [esp + 0x50]
push 1
push dword [0x45564c]
push eax
call fcn.00445c60
add esp, 0x10
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10]
jmp dword [0x451844]
push dword [esp + 0x54]
call fcn.004044f0
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0xd8d5161b
mov dword [esp + 0x18], 0x2f222c2a
mov dword [esp + 0x1c], 0xd02cdce2
mov dword [esp + 0x20], 0x272a2422
mov dword [esp + 0x24], 0x30c5d5d5
mov word [esp + 0x28], 0x3cc9
mov byte [esp + 0x2a], 0xa2
mov dword [esp + 0x2b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1a
ja 0x42efcb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 8]
push eax
call fcn.004315b0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x1b
jb 0x42efa0
lea eax, [esp + 0x14]
push eax
push esi
call fcn.00404630
add esp, 8
mov edx, eax
mov ebp, 0xffffffff
mov esi, ebp
cmp byte [edx + ebp + 1], 0
lea ebp, [ebp + 1]
jne 0x42efe0
mov eax, ebp
and eax, 3
mov esi, ebp
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, ebp
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
movzx eax, byte [edx + ebp - 1]
cmp eax, 0x3d
je 0x42f018
cmp eax, 0x2e
jne 0x42f01f
mov eax, esi
not eax
lea esi, [eax + esi*2]
movzx eax, byte [edx + ebp - 2]
cmp eax, 0x3d
mov dword [esp + 0x58], edx
je 0x42f032
cmp eax, 0x2e
jne 0x42f033
dec esi
mov dword [esp + 0x8c], esi
lea eax, [esi + 1]
push eax
call fcn.0040c6c0
add esp, 4
mov dword [esp + 0x48], eax
test ebp, ebp
je 0x42f141
xor ecx, ecx
mov edi, 2
jmp 0x42f078
mov ebp, ebx
mov esi, dword [esp + 0x50]
lea eax, [edi + 4]
add edi, 2
mov ecx, esi
cmp edi, ebp
mov edi, eax
jae 0x42f141
mov dword [esp + 0x10], ecx
mov esi, ebp
mov ebp, dword [esp + 0x58]
movzx eax, byte [ebp + edi - 2]
push eax
call fcn.00420880
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + edi - 1]
push eax
call fcn.00420880
mov edx, dword [esp + 0x14]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ecx, [edx + 1]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx], ah
mov ebx, esi
cmp edi, esi
jae 0x42f060
mov byte [esp + 0xf], al
movzx eax, byte [ebp + edi]
push eax
call fcn.00420880
add esp, 4
cmp al, 0x40
mov ebp, ebx
mov esi, dword [esp + 0x50]
je 0x42f066
movzx ecx, byte [esp + 0xf]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov edx, dword [esp + 0x10]
lea esi, [edx + 2]
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx + 1], al
lea eax, [edi + 1]
cmp eax, ebp
jae 0x42f066
mov eax, dword [esp + 0x58]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00420880
add esp, 4
cmp al, 0x40
je 0x42f066
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov byte [ecx + edx + 2], al
add edx, 3
mov esi, edx
jmp 0x42f066
mov eax, dword [esp + 0x8c]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x31f26afb
push dword [0x455650]
call fcn.00448a40
add esp, 8
lea ecx, [esp + 0x60]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0xf8]
jmp dword [0x451800]
push dword [esp + 0x54]
call fcn.004044f0
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0xd8d5161b
mov dword [esp + 0x18], 0x2f222c2a
mov dword [esp + 0x1c], 0xd02cdce2
mov dword [esp + 0x20], 0x272a2422
mov dword [esp + 0x24], 0x30c5d5d5
mov word [esp + 0x28], 0x3cc9
mov byte [esp + 0x2a], 0xa2
mov dword [esp + 0x2b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1a
ja 0x42f22b
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 8]
push eax
call fcn.004315b0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x1b
jb 0x42f200
lea eax, [esp + 0x14]
push eax
push esi
call fcn.00404630
add esp, 8
mov edx, eax
mov ebp, 0xffffffff
mov edi, ebp
cmp byte [edx + ebp + 1], 0
lea ebp, [ebp + 1]
jne 0x42f240
mov eax, ebp
and eax, 3
mov esi, ebp
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, ebp
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
movzx eax, byte [edx + ebp - 1]
cmp eax, 0x3d
je 0x42f278
cmp eax, 0x2e
jne 0x42f27f
mov eax, esi
not eax
lea esi, [eax + esi*2]
movzx eax, byte [edx + ebp - 2]
cmp eax, 0x3d
mov dword [esp + 0x58], edx
je 0x42f292
cmp eax, 0x2e
jne 0x42f293
dec esi
mov dword [esp + 0x8c], esi
lea eax, [esi + 1]
push eax
call fcn.0040c6c0
add esp, 4
mov dword [esp + 0x48], eax
test ebp, ebp
je 0x42f3aa
xor ecx, ecx
mov esi, 2
jmp 0x42f2d8
mov ebp, ebx
mov ebx, dword [esp + 0x50]
lea eax, [esi + 4]
add esi, 2
mov ecx, ebx
cmp esi, ebp
mov esi, eax
jae 0x42f3aa
mov dword [esp + 0x10], ecx
mov edi, ebp
mov ebp, dword [esp + 0x58]
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.00420880
add esp, 4
mov bh, al
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.00420880
mov edx, dword [esp + 0x14]
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
lea ecx, [edx + 1]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx], ah
mov ebx, edi
cmp esi, edi
jae 0x42f2c0
mov byte [esp + 0xf], al
movzx eax, byte [ebp + esi]
push eax
call fcn.00420880
add esp, 4
cmp al, 0x40
mov ebp, ebx
mov ebx, dword [esp + 0x50]
je 0x42f2c6
movzx edx, byte [esp + 0xf]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov edi, dword [esp + 0x10]
lea ebx, [edi + 2]
mov edx, dword [esp + 0x48]
mov byte [edx + edi + 1], cl
lea ecx, [esi + 1]
cmp ecx, ebp
jae 0x42f2c6
mov ecx, dword [esp + 0x58]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov edi, ebx
mov ebx, eax
call fcn.00420880
add esp, 4
mov ecx, ebx
mov ebx, edi
cmp al, 0x40
je 0x42f2c6
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov byte [ecx + edx + 2], al
add edx, 3
mov ebx, edx
jmp 0x42f2c6
mov eax, dword [esp + 0x8c]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x31f26afb
push dword [0x455650]
call fcn.00448a40
add esp, 8
lea ecx, [esp + 0x60]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
jmp case.0x42e3e4.16