Function at 0x422224
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
call 0x422230
pop eax
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov edi, dword [esi + 8]
mov ebp, dword [eax + 8]
mov ecx, dword [eax]
push ebp
mov dword [esp + 0x20], ecx
push ecx
call fcn.00443be3
add esp, 8
mov ecx, 6
mov dword [esp + 0x20], eax
mul ecx
jo 0x422f96
add eax, edi
jb 0x422f96
push 0
push eax
push esi
call fcn.0041d54f
add esp, 0xc
mov eax, dword [esi + 8]
mov ebx, eax
sub ebx, edi
jb 0x422fa9
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
add eax, edi
mov dword [esp + 0x30], eax
mov eax, ecx
and eax, 0xff0000
shr eax, 0x10
push eax
call fcn.00443c06
add esp, 4
mov dword [esp + 4], eax
mov eax, ebp
and eax, 7
cmp eax, 5
ja 0x422300
mov eax, dword [eax*4 + 0x423050]
add eax, dword [esp + 0x38]
jmp eax
mov edx, ebp
xor ecx, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x34], ebx
sub edx, eax
cmovb edx, ecx
cmp edx, 0x20
jb 0x4227c4
mov esi, dword [esp + 0x1c]
lea eax, [edx - 0x20]
xor ecx, ecx
xor ebp, ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x3c], eax
add esi, 0x1f
cmp ebp, 0xffffffe0
je 0x422fdf
lea eax, [ebp + 0x20]
mov edi, dword [esp + 4]
cmp eax, dword [esp + 0x24]
mov dword [esp + 8], eax
ja 0x422fea
lea eax, [ecx + 0x1a]
cmp eax, ebx
ja 0x422ff9
movzx edx, byte [esi + ebp - 0x1f]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422e16
movzx edx, byte [esi + ebp - 0x1e]
mov ah, byte [edi + edx]
cmp ah, 0xff
je 0x422d27
movzx edx, byte [esi + ebp - 0x1d]
mov dword [esp + 0x18], ecx
mov cl, byte [edi + edx]
cmp cl, 0xff
je 0x422d2d
movzx edx, byte [esi + ebp - 0x1c]
mov bh, byte [edi + edx]
cmp bh, 0xff
je 0x422d35
movzx edx, byte [esi + ebp - 0x1b]
mov ch, byte [edi + edx]
cmp ch, 0xff
je 0x422d3d
movzx edx, byte [esi + ebp - 0x1a]
mov bl, byte [edi + edx]
cmp bl, 0xff
je 0x422d45
movzx edx, byte [esi + ebp - 0x19]
mov byte [esp + 0x10], ch
mov ch, al
mov al, byte [edi + edx]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x422d4d
movzx edx, byte [esi + ebp - 0x18]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422d55
movzx edx, ah
mov byte [esp + 3], al
movzx eax, ch
movzx edi, cl
movzx ecx, byte [esp + 0x10]
shl edx, 0x14
shl eax, 0x1a
shl edi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, edi
shl ecx, 2
or edx, eax
movzx eax, bl
mov edi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 0x1c
or eax, edx
movzx edx, byte [esp + 3]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
shl ecx, 0x16
or ecx, edi
shl edx, 0x10
mov edi, dword [esp + 4]
or edx, ecx
mov ecx, dword [esp + 0x18]
bswap edx
mov dword [esp + 0x2c], edx
add eax, ecx
push 0x4c9cb0
mov ecx, 8
push ecx
lea edx, [esp + 0x30]
push edx
push ecx
push eax
call fcn.00420e7d
add esp, 0x14
movzx edx, byte [esi + ebp - 0x17]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422d5d
movzx edx, byte [esi + ebp - 0x16]
mov ah, byte [edi + edx]
cmp ah, 0xff
je 0x422d65
movzx edx, byte [esi + ebp - 0x15]
mov cl, byte [edi + edx]
cmp cl, 0xff
je 0x422d6d
movzx edx, byte [esi + ebp - 0x14]
mov bh, byte [edi + edx]
cmp bh, 0xff
je 0x422d75
movzx edx, byte [esi + ebp - 0x13]
mov ch, byte [edi + edx]
cmp ch, 0xff
je 0x422d80
movzx edx, byte [esi + ebp - 0x12]
mov bl, byte [edi + edx]
cmp bl, 0xff
je 0x422d8d
movzx edx, byte [esi + ebp - 0x11]
mov byte [esp + 0x10], ch
mov ch, al
mov al, byte [edi + edx]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x422d9a
movzx edx, byte [esi + ebp - 0x10]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422da8
movzx edx, ah
mov byte [esp + 3], al
movzx eax, ch
movzx edi, cl
movzx ecx, byte [esp + 0x10]
shl edx, 0x14
shl eax, 0x1a
shl edi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, edi
shl ecx, 2
or edx, eax
movzx eax, bl
mov edi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 0x1c
or eax, edx
movzx edx, byte [esp + 3]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
shl ecx, 0x16
or ecx, edi
shl edx, 0x10
mov edi, dword [esp + 4]
or edx, ecx
mov ecx, dword [esp + 0x18]
bswap edx
mov dword [esp + 0x2c], edx
lea eax, [eax + ecx + 6]
push 0x4c9cb0
mov ecx, 8
push ecx
lea edx, [esp + 0x30]
push edx
push ecx
push eax
call fcn.00420e7d
add esp, 0x14
movzx edx, byte [esi + ebp - 0xf]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422db6
movzx edx, byte [esi + ebp - 0xe]
mov ah, byte [edi + edx]
cmp ah, 0xff
je 0x422dc4
movzx edx, byte [esi + ebp - 0xd]
mov cl, byte [edi + edx]
cmp cl, 0xff
je 0x422dd2
movzx edx, byte [esi + ebp - 0xc]
mov bh, byte [edi + edx]
cmp bh, 0xff
je 0x422dd7
movzx edx, byte [esi + ebp - 0xb]
mov ch, byte [edi + edx]
cmp ch, 0xff
je 0x422ddc
movzx edx, byte [esi + ebp - 0xa]
mov bl, byte [edi + edx]
cmp bl, 0xff
je 0x422de1
movzx edx, byte [esi + ebp - 9]
mov byte [esp + 0x10], ch
mov ch, al
mov al, byte [edi + edx]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x422de6
movzx edx, byte [esi + ebp - 8]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422deb
movzx edx, ah
mov byte [esp + 3], al
movzx eax, ch
movzx edi, cl
movzx ecx, byte [esp + 0x10]
shl edx, 0x14
shl eax, 0x1a
shl edi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, edi
shl ecx, 2
or edx, eax
movzx eax, bl
mov edi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 0x1c
or eax, edx
movzx edx, byte [esp + 3]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
shl ecx, 0x16
or ecx, edi
shl edx, 0x10
mov edi, dword [esp + 4]
or edx, ecx
mov ecx, dword [esp + 0x18]
bswap edx
mov dword [esp + 0x2c], edx
lea eax, [eax + ecx + 0xc]
push 0x4c9cb0
mov ecx, 8
push ecx
lea edx, [esp + 0x30]
push edx
push ecx
push eax
call fcn.00420e7d
add esp, 0x14
movzx edx, byte [esi + ebp - 7]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422df0
movzx edx, byte [esi + ebp - 6]
mov ah, byte [edi + edx]
cmp ah, 0xff
je 0x422df5
movzx edx, byte [esi + ebp - 5]
mov cl, byte [edi + edx]
cmp cl, 0xff
je 0x422dfa
movzx edx, byte [esi + ebp - 4]
mov bh, byte [edi + edx]
cmp bh, 0xff
je 0x422dff
movzx edx, byte [esi + ebp - 3]
mov ch, byte [edi + edx]
cmp ch, 0xff
je 0x422e04
movzx edx, byte [esi + ebp - 2]
mov bl, byte [edi + edx]
cmp bl, 0xff
je 0x422e09
movzx edx, byte [esi + ebp - 1]
mov byte [esp + 0x10], ch
mov ch, al
mov al, byte [edi + edx]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x422e0e
movzx edx, byte [esi + ebp]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422e13
movzx edx, ah
mov byte [esp + 3], al
movzx eax, ch
movzx edi, cl
movzx ecx, byte [esp + 0x10]
shl edx, 0x14
shl eax, 0x1a
shl edi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, edi
shl ecx, 2
or edx, eax
movzx eax, bl
mov edi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 0x1c
or eax, edx
movzx edx, byte [esp + 3]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
shl ecx, 0x16
or ecx, edi
mov edi, dword [esp + 0x18]
shl edx, 0x10
or edx, ecx
bswap edx
mov dword [esp + 0x2c], edx
lea eax, [eax + edi + 0x12]
push 0x4c9cb0
mov ecx, 8
push ecx
lea edx, [esp + 0x30]
push edx
push ecx
push eax
call fcn.00420e7d
mov ecx, edi
add esp, 0x14
mov ebp, dword [esp + 8]
add ecx, 0x18
add dword [esp + 0x20], 0xfffffffc
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
cmp ebp, dword [esp + 0x3c]
jbe 0x422334
jmp 0x4227ce
xor ecx, ecx
mov dword [esp + 8], 0
cmp edx, 8
jb 0x422951
mov esi, dword [esp + 8]
add edx, 0xfffffff8
cmp esi, edx
jae 0x422957
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
cmp esi, 0xfffffff8
je 0x422fb5
lea eax, [esi + 8]
mov edi, dword [esp + 4]
cmp eax, dword [esp + 0x24]
mov dword [esp + 8], eax
ja 0x422fc2
lea eax, [ecx + 8]
cmp ecx, 0xfffffff7
ja 0x422fd1
cmp eax, ebx
ja 0x422fd8
movzx edx, byte [ebp + esi]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422dcc
movzx edx, byte [ebp + esi + 1]
mov ah, byte [edi + edx]
cmp ah, 0xff
je 0x422cef
movzx edx, byte [ebp + esi + 2]
mov dword [esp + 0x18], ecx
mov cl, byte [edi + edx]
cmp cl, 0xff
je 0x422cf7
movzx edx, byte [ebp + esi + 3]
mov bh, byte [edi + edx]
cmp bh, 0xff
je 0x422cff
movzx edx, byte [ebp + esi + 4]
mov ch, byte [edi + edx]
cmp ch, 0xff
je 0x422d07
movzx edx, byte [ebp + esi + 5]
mov bl, byte [edi + edx]
cmp bl, 0xff
je 0x422d0f
movzx edx, byte [ebp + esi + 6]
mov byte [esp + 0x10], ch
mov ch, al
mov al, byte [edi + edx]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x422d17
movzx edx, byte [ebp + esi + 7]
mov al, byte [edi + edx]
cmp al, 0xff
je 0x422d1f
movzx edx, ah
mov byte [esp + 3], al
movzx eax, ch
movzx edi, cl
movzx ecx, byte [esp + 0x10]
mov esi, dword [esp + 0x18]
shl edx, 0x14
shl eax, 0x1a
shl edi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, edi
shl ecx, 2
or edx, eax
movzx eax, bl
mov edi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 0x1c
or eax, edx
movzx edx, byte [esp + 3]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
shl ecx, 0x16
or ecx, edi
shl edx, 0x10
or edx, ecx
bswap edx
add eax, esi
mov dword [esp + 0x2c], edx
push 0x4c9cb0
mov ecx, 8
push ecx
lea edx, [esp + 0x30]
push edx
push ecx
push eax
call fcn.00420e7d
mov ecx, esi
add esp, 0x14
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x34]
dec dword [esp + 0x20]
add ecx, 6
cmp eax, edx
mov esi, eax
jb 0x4227ee
jmp 0x422959
mov eax, dword [esp + 8]
jmp 0x422959
mov eax, esi
mov ebp, dword [esp + 0x20]
cmp ebp, 2
jb 0x422b7b
mov edx, dword [esp + 0x24]
mov esi, eax
dec ebp
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 8], esi
cmp eax, esi
jb 0x423002
mov edi, dword [esp + 0x1c]
cmp ecx, 0xfffffff9
ja 0x42300e
lea edx, [ecx + 6]
cmp edx, ebx
mov dword [esp + 0x14], edx
ja 0x423022
mov esi, dword [esp + 8]
xor edx, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edx
cmp eax, esi
je 0x422f2e
movzx edx, byte [edi + esi]
mov eax, dword [esp + 4]
mov bl, byte [eax + edx]
cmp bl, 0xff
je 0x422dcc
cmp dword [esp + 0xc], 2
jb 0x422f37
movzx edx, byte [edi + esi + 1]
mov eax, dword [esp + 4]
mov bh, byte [eax + edx]
cmp bh, 0xff
je 0x422d7d
cmp dword [esp + 0xc], 3
jb 0x422f44
movzx edx, byte [edi + esi + 2]
mov eax, dword [esp + 4]
mov al, byte [eax + edx]
cmp al, 0xff
je 0x422d88
cmp dword [esp + 0xc], 4
jb 0x422f50
mov dword [esp + 0x18], ecx
movzx edx, byte [edi + esi + 3]
mov ecx, dword [esp + 4]
mov cl, byte [ecx + edx]
cmp cl, 0xff
je 0x422d95
cmp dword [esp + 0xc], 5
jb 0x422f5c
mov byte [esp + 0x10], bh
mov byte [esp + 3], bl
movzx edx, byte [edi + esi + 4]
mov ebx, dword [esp + 4]
mov bl, byte [ebx + edx]
cmp bl, 0xff
je 0x422d9f
cmp dword [esp + 0xc], 6
jb 0x422f68
mov edx, dword [esp + 8]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 4]
movzx edx, byte [edi + edx + 5]
mov ah, byte [ebp + edx]
cmp ah, 0xff
je 0x422dad
cmp dword [esp + 0xc], 7
jb 0x422f74
mov edx, dword [esp + 8]
mov ebp, dword [esp + 4]
movzx edx, byte [edi + edx + 6]
mov ch, byte [ebp + edx]
cmp ch, 0xff
je 0x422dbb
cmp dword [esp + 0xc], 8
jb 0x422f80
mov esi, dword [esp + 8]
mov ebp, dword [esp + 4]
movzx edx, byte [edi + esi + 7]
mov bh, byte [ebp + edx]
cmp bh, 0xff
je 0x422dc9
mov edx, dword [esp + 0x18]
movzx edi, byte [esp + 0x10]
movzx ebp, bl
shl ebp, 2
add edx, dword [esp + 0x30]
shl edi, 0x14
mov dword [esp + 0x18], edx
movzx edx, byte [esp + 3]
shl edx, 0x1a
or edi, edx
movzx edx, al
shl edx, 0xe
or edx, edi
movzx edi, cl
shl edi, 8
or edi, edx
movzx edx, ah
movzx eax, ch
movzx ecx, bh
or ebp, edi
mov edi, edx
shl eax, 0x16
shr edx, 4
shl ecx, 0x10
shl edi, 0x1c
or edx, ebp
or eax, edi
bswap edx
or ecx, eax
mov dword [esp + 0x28], edx
bswap ecx
mov dword [esp + 0x2c], ecx
push 0x4c9cb0
mov edi, 8
push edi
lea eax, [esp + 0x30]
push eax
push edi
lea ebx, [esp + 0x54]
push ebx
call fcn.00420e7d
add esp, 0x14
push 0x4c9ca0
mov eax, 6
push eax
push ebx
push eax
push dword [esp + 0x28]
call fcn.00420e7d
add esp, 0x14
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x34]
add dword [esp + 0xc], 0xfffffff8
add esi, edi
dec ebp
mov ecx, edx
jne 0x422973
jmp 0x422b7f
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], edx
cmp esi, eax
ja 0x423036
mov ebp, dword [esp + 0x14]
cmp esi, eax
mov dword [esp + 8], esi
jne 0x422bbe
xor edx, edx
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], 0
mov dword [esp + 4], 0
xor ecx, ecx
jmp 0x422e5b
mov ecx, dword [esp + 0x1c]
xor edx, edx
xor edi, edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
add eax, ecx
add ecx, esi
xor esi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x1c]
xor eax, eax
movzx ecx, byte [ebp + eax]
lea ebx, [edi + eax]
cmp ecx, 0x3d
jne 0x422c2f
mov ecx, dword [esp + 0x18]
add ecx, eax
test cl, 2
je 0x422ca3
mov ebp, dword [esp + 0x1c]
test ebx, ebx
cmove esi, ecx
lea ecx, [ebp + eax + 1]
inc eax
cmp ecx, dword [esp + 0x24]
jne 0x422bfa
jmp 0x422cb9
mov ebp, dword [esp + 0x14]
test ebx, ebx
jg 0x422f05
mov edi, dword [esp + 4]
mov edx, ecx
mov cl, byte [edi + ecx]
cmp cl, 0xff
je 0x422f10
mov edi, dword [esp + 0x18]
lea edi, [edi + eax + 1]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x1c]
lea edi, [edi + eax + 1]
movzx eax, cl
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
imul ecx, edi, 0x3a
xor edi, edi
shld edi, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne edi, eax
cmovne eax, ecx
mov ecx, dword [esp + 0x1c]
or dword [esp + 0x20], edi
or dword [esp + 0xc], eax
mov edi, ebx
cmp ecx, dword [esp + 0x24]
jne 0x422bf4
jmp 0x422cbd
add edi, eax
mov dl, 0x3d
test edi, edi
cmovg ecx, esi
xor eax, eax
add ecx, dword [esp + 8]
mov ebp, ecx
jmp 0x422e18
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
cmp esi, 8
ja 0x423047
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0
mov ecx, esi
add eax, dword [esi*4 + 0x423068]
jmp eax
or esi, 1
jmp 0x422dcc
or esi, 2
jmp 0x422dcc
or esi, 3
jmp 0x422dcc
or esi, 4
jmp 0x422dcc
or esi, 5
jmp 0x422dcc
or esi, 6
jmp 0x422dcc
or esi, 7
jmp 0x422dcc
inc ebp
jmp 0x422e16
add ebp, 2
jmp 0x422e16
add ebp, 3
jmp 0x422e16
add ebp, 4
jmp 0x422e16
add ebp, 5
jmp 0x422e16
add ebp, 6
jmp 0x422e16
add ebp, 7
jmp 0x422e16
add ebp, 8
jmp 0x422e16
add ebp, 9
jmp 0x422e16
add ebp, 0xa
jmp 0x422e16
add ebp, 0xb
jmp 0x422e16
inc esi
jmp 0x422dcc
add ebp, 0xc
jmp 0x422e16
add esi, 2
jmp 0x422dcc
add ebp, 0xd
jmp 0x422e16
add esi, 3
jmp 0x422dcc
add ebp, 0xe
jmp 0x422e16
mov esi, dword [esp + 8]
add esi, 4
jmp 0x422dcc
add ebp, 0xf
jmp 0x422e16
mov esi, dword [esp + 8]
add esi, 5
jmp 0x422dcc
add ebp, 0x10
jmp 0x422e16
mov esi, dword [esp + 8]
add esi, 6
jmp 0x422dcc
add ebp, 0x11
jmp 0x422e16
add esi, 7
xor eax, eax
mov ebp, esi
jmp 0x422e18
add ebp, 0x12
jmp 0x422e16
add ebp, 0x13
jmp 0x422e16
add ebp, 0x14
jmp 0x422e16
add ebp, 0x15
jmp 0x422e16
add ebp, 0x16
jmp 0x422e16
add ebp, 0x17
jmp 0x422e16
add ebp, 0x18
jmp 0x422e16
add ebp, 0x19
jmp 0x422e16
add ebp, 0x1a
jmp 0x422e16
add ebp, 0x1b
jmp 0x422e16
add ebp, 0x1c
jmp 0x422e16
add ebp, 0x1d
jmp 0x422e16
add ebp, 0x1e
jmp 0x422e16
add ebp, 0x1f
xor eax, eax
movzx esi, al
mov eax, dword [esp + 0x60]
movzx ecx, dl
shl ecx, 8
or esi, ecx
mov dword [eax + 4], ebp
mov dword [eax], esi
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
mov dword [esp + 0x10], esi
mov eax, 0
dec edi
mov esi, edi
shr esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, eax
bt dword [esp + 0x68], 8
jb 0x422e98
and esi, dword [esp + 0x20]
and edi, dword [esp + 0xc]
or edi, esi
je 0x422e98
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
lea ebp, [eax + ecx - 1]
mov al, 2
jmp 0x422e18
cmp byte [esp + 4], 0
je 0x422ee8
cmp ebp, ebx
cmova ebx, ebp
xor edx, edx
mov dword [esp + 4], ebx
mov ebx, 0x38
cmp dword [esp + 4], ebp
je 0x422f1f
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov edi, ecx
mov ecx, ebx
and cl, 0x38
shrd esi, eax, cl
mov ecx, ebx
and cl, 0x18
shr eax, cl
mov ecx, dword [esp + 0x30]
test bl, 0x20
cmove eax, esi
add edx, 8
add ebx, 0xfffffff8
mov byte [ecx + ebp], al
inc ebp
mov ecx, edi
cmp edx, edi
jb 0x422eaf
add ebp, dword [esp + 0x40]
push ebp
push dword [esp + 0x70]
call fcn.00448a82
add esp, 8
mov eax, dword [esp + 0x60]
mov byte [eax], 3
jmp 0x422e2c
add esi, dword [esp + 8]
mov dl, 0x3d
jmp 0x422dcc
mov ebp, dword [esp + 8]
add ebp, dword [esp + 0x18]
add ebp, eax
jmp 0x422e16
push 0x4c9bb4
push dword [esp + 0x38]
push dword [esp + 0xc]
jmp 0x422f8c
xor eax, eax
push 0x4c9ab0
jmp 0x422f8a
push 0x4c9ac0
push dword [esp + 0x10]
push 1
jmp 0x422f8c
mov eax, 2
push 0x4c9ad0
jmp 0x422f8a
mov eax, 3
push 0x4c9ae0
jmp 0x422f8a
mov eax, 4
push 0x4c9af0
jmp 0x422f8a
mov eax, 5
push 0x4c9b00
jmp 0x422f8a
mov eax, 6
push 0x4c9b10
jmp 0x422f8a
mov eax, 7
push 0x4c9b20
push eax
push eax
call fcn.004b4860
add esp, 0xc
ud2
push 0x4c9c80
push 0x2e
push str.Overflow_when_calculating_output_buffer_length
call fcn.004b46a0
jmp 0x422f91
push 0x4c9c90
push eax
push edi
jmp 0x42303d
add esi, 8
push 0x4c9b84
push esi
push 0xfffffffffffffff8
jmp 0x423018
add esi, 8
push 0x4c9b84
push dword [esp + 0x28]
push esi
jmp 0x42302c
push 0x4c9b94
jmp 0x423016
push 0x4c9b94
jmp 0x422ffe
push 0x4c9b64
push 0
push 0xffffffffffffffe0
jmp 0x423018
add ebp, 0x20
push 0x4c9b64
push dword [esp + 0x28]
push ebp
jmp 0x42302c
push 0x4c9b74
push ebx
push eax
jmp 0x42302c
push 0x4c9c30
push eax
push dword [esp + 0x10]
jmp 0x42303d
lea eax, [ecx + 6]
push 0x4c9c40
push eax
push ecx
call fcn.004b4c80
jmp 0x422f91
add ecx, 6
push 0x4c9c40
push ebx
push ecx
call fcn.004b4c10
jmp 0x422f91
push 0x4c9ba4
push eax
push esi
call fcn.004b4ba0
jmp 0x422f91
call fcn.00421e84
ud2