Function at 0x420300
Capabilities:
Encode data using base64

Disassembly:
push edi
push esi
sub esp, 0x78
mov eax, dword [esp + 0x90]
mov cl, byte [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x74], eax
and cl, 1
mov byte [esp + 0x73], cl
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
mov eax, dword [0x49b39c]
or eax, 0x18404
mov dword [0x49b39c], eax
mov eax, dword [0x496494]
mov edx, eax
inc edx
mov dword [0x496494], edx
add eax, 0xca72831c
mov edx, dword [0x4921c8]
sub edx, eax
mov dword [0x4921c8], edx
mov di, word [0x4871ae]
movsx eax, di
shl eax, 8
mov edx, dword [0x48b0f8]
and edx, 0x7164f921
cmp eax, edx
jne 0x42039a
mov eax, dword [0x494b10]
imul eax, eax, 0x855df0f2
mov dword [0x494b10], eax
jmp 0x42040b
mov eax, 0xdfd7efff
mov cx, word [0x482f3e]
movsx edx, cx
sar edx, 9
mov cx, word [0x482c4e]
movsx esi, cx
sub edx, esi
cmp eax, edx
jne 0x4203d4
mov eax, dword [0x495610]
and eax, 0xda8a97c1
mov dword [0x495610], eax
jmp 0x420406
mov eax, 0x2406101
mov ecx, dword [0x49b700]
not ecx
imul ecx, ecx, 0x1c30edc5
mov edx, dword [0x498fc4]
add ecx, edx
cmp eax, ecx
jl 0x4203fc
jmp 0x420401
jmp 0x420401
jmp 0x420406
jmp 0x42040b
mov ax, word [0x48002e]
mov cx, ax
shl ecx, 5
mov edx, 0x1255732
sub edx, ecx
mov ax, dx
mov word [0x47fe24], ax
mov dword [esp + 0x58], 0
mov ecx, dword [0x4952d4]
and ecx, 0x52080c4
mov dword [0x4952d4], ecx
mov dword [esp + 0x54], 0
mov ecx, dword [0x48b920]
inc ecx
mov dword [0x48b920], ecx
mov edx, dword [0x48c7cc]
imul edx, ecx
mov dword [0x48c7cc], edx
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x30a8
call fcn.00415e90
mov dword [esp + 0x3c], eax
mov si, word [0x482428]
movsx eax, si
and eax, 0x8b447529
cmp eax, 0x1205fa85
jle 0x4204a6
mov eax, dword [0x498830]
add eax, 0xfa02ad
mov dword [0x498830], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x30f9
call fcn.00415e90
mov dword [esp + 0x64], eax
mov cx, word [0x4871e0]
movsx eax, cx
xor eax, 0x72a8eb13
mov edx, dword [0x489b64]
sar edx, 8
or eax, edx
mov edx, dword [0x48f910]
xor edx, 0xffffffff
xor edx, 0xdfe8f469
cmp eax, edx
jge 0x420516
mov eax, dword [0x48d1f8]
not eax
add eax, 0xf4c157a
mov cx, word [0x484040]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x484040], cx
jmp 0x420525
mov eax, dword [0x4966dc]
add eax, 0x53369a48
mov dword [0x4966dc], eax
mov eax, 0xb1c0da92
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x49]
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455180
mov ecx, dword [0x498d18]
mov edx, ecx
inc edx
mov dword [0x498d18], edx
and ecx, 0x2252d118
mov dword [0x4979c8], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x26f
mov dword [esp + 0x34], eax
call fcn.00415e90
mov dword [esp + 0x60], eax
mov si, word [0x483b58]
mov ax, si
xor eax, 0x72a6
mov si, ax
mov word [0x483b58], si
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004140f0
mov eax, dword [0x48dad0]
add eax, 0xffe9f95
and eax, 0x3e1dee2e
mov ecx, dword [0x48f848]
add ecx, eax
mov dword [0x48f848], ecx
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.00455180
mov ecx, dword [0x48f00c]
imul ecx, ecx, 0x3ff9dc58
mov dword [0x48f00c], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x3183
mov dword [esp + 0x30], eax
call fcn.00415e90
mov dword [esp + 0x5c], eax
mov eax, dword [0x491614]
imul eax, eax, 0xc2cc8501
mov dword [0x491614], eax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004140f0
mov eax, dword [0x4921e8]
or eax, 0xa2d1c00
mov dword [0x4921e8], eax
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x41]
mov dword [ecx], eax
call fcn.00455180
mov ecx, dword [0x489a38]
inc ecx
mov dword [0x489a38], ecx
imul ecx, ecx, 0xde107fad
imul ecx, ecx, 0xeba70ec0
mov edx, dword [esp + 0x38]
cmp edx, ecx
mov dword [esp + 0x2c], eax
jle 0x42067f
mov dword [0x492b28], 0x100d0025
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004140f0
mov eax, dword [0x491b4c]
add eax, 0x169dbc24
mov ecx, dword [0x48b7f4]
xor ecx, eax
mov dword [0x48b7f4], ecx
cmp dword [esp + 0x6c], 0
je 0x420b0e
mov eax, 0xeff1eff5
mov ecx, dword [0x48bab8]
add ecx, 0xd3578413
mov dword [0x48bab8], ecx
mov ecx, dword [esp + 0x6c]
dec ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x4933bc]
or ecx, 0xc4ed50e2
cmp eax, ecx
jge 0x420713
mov ax, word [0x4887a2]
mov cx, ax
imul ecx, ecx, 0xa6c42178
or ecx, 0xcc86
mov ax, word [0x480056]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x480056], ax
mov eax, 0xae9fd2bb
mov ecx, dword [esp + 0x68]
mov dl, byte [ecx]
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x51], dl
mov ecx, dword [0x49433c]
imul ecx, ecx, 0x47aeef17
mov esi, dword [0x49b2c8]
sub esi, ecx
mov dword [0x49b2c8], esi
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [0x48e364]
sub ecx, 0x79e3e60c
cmp eax, ecx
jle 0x420775
mov ax, word [0x485d1a]
mov cx, ax
imul ecx, ecx, 0xfed7dfa4
mov ax, cx
mov word [0x485d1a], ax
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov eax, dword [0x4976c4]
and eax, 0xc774c8b7
mov dword [0x4976c4], eax
cmp dword [esp + 0x58], 3
jne 0x420af1
mov eax, dword [0x48f15c]
mov ecx, dword [0x493114]
or ecx, eax
mov dword [0x493114], ecx
movzx eax, byte [esp + 0x51]
shr eax, 2
mov dl, al
mov byte [esp + 0x4d], dl
mov eax, dword [0x496828]
or eax, 0x519e819
mov dword [0x496828], eax
movzx eax, byte [esp + 0x51]
and eax, 3
shl eax, 4
mov dl, al
mov byte [esp + 0x4e], dl
mov eax, dword [0x4947e4]
dec eax
mov dword [0x4947e4], eax
mov ecx, dword [0x495fa8]
imul ecx, ecx, 0x6180ec3e
or eax, ecx
mov si, word [0x486554]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x486554], si
movzx eax, byte [esp + 0x52]
shr eax, 4
movzx ecx, byte [esp + 0x4e]
add ecx, eax
mov dl, cl
mov byte [esp + 0x4e], dl
mov eax, dword [0x48d4ac]
mov ecx, dword [0x4895f8]
mov edi, ecx
dec edi
mov dword [0x4895f8], edi
add eax, ecx
and eax, 0x49fa6b4c
mov ecx, dword [0x49a61c]
add ecx, eax
mov dword [0x49a61c], ecx
movzx eax, byte [esp + 0x52]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x4f], dl
mov eax, dword [0x492328]
sar eax, 6
mov dword [0x4938a4], eax
movzx eax, byte [esp + 0x53]
shr eax, 6
movzx ecx, byte [esp + 0x4f]
add ecx, eax
mov dl, cl
mov byte [esp + 0x4f], dl
mov eax, dword [0x49a0bc]
shl eax, 3
mov si, word [0x488200]
mov cx, si
or eax, ecx
or eax, 0x97b0
mov si, ax
mov word [0x488200], si
movzx eax, byte [esp + 0x53]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x50], dl
mov eax, dword [0x49609c]
xor eax, 0xd8d20d29
mov dword [0x49609c], eax
mov dword [esp + 0x58], 0
mov eax, dword [0x48a5dc]
and eax, 0xfaffffd7
mov dword [0x48a5dc], eax
cmp dword [esp + 0x58], 4
je 0x420ab9
mov word [0x482380], 0x2122
test byte [esp + 0x73], 1
je 0x4209c4
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3d
jle 0x4209c4
mov eax, dword [0x49b728]
mov ecx, dword [0x4934a8]
or ecx, eax
mov dword [0x4934a8], ecx
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3e
jne 0x42096d
mov eax, dword [0x4923e8]
xor eax, 0x11300fb4
mov dword [0x4923e8], eax
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.0044fb60
sub esp, 4
mov ecx, dword [0x49a6ac]
inc ecx
mov dword [0x49a6ac], ecx
mov edx, dword [0x48f77c]
sub edx, ecx
mov dword [0x48f77c], edx
mov dword [esp + 0x28], eax
jmp 0x4209a7
mov eax, dword [0x495848]
imul eax, eax, 0x786c3c52
mov dword [0x495848], eax
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.0044fb60
sub esp, 4
mov ecx, dword [0x490a60]
xor ecx, 0x48201c18
mov dword [0x490a60], ecx
mov dword [esp + 0x24], eax
mov ax, word [0x487380]
mov cx, ax
add ecx, 0x903a0245
mov ax, cx
mov word [0x487380], ax
jmp 0x420a70
mov eax, dword [0x49b80c]
xor eax, 0xd703f0e4
mov dword [0x49b80c], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x4d]
mov edx, dword [esp + 0x3c]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00450100
sub esp, 4
mov ecx, dword [0x48bf6c]
mov edx, ecx
dec edx
mov dword [0x48bf6c], edx
sub ecx, 0xfbc0fbc
sub ecx, 0xeacffacb
cmp ecx, 0x6c814e8e
mov dword [esp + 0x20], eax
jne 0x420a6b
mov eax, dword [0x497738]
inc eax
mov dword [0x497738], eax
mov cx, word [0x48679a]
movsx edx, cx
and edx, 0x179a6436
or edx, 0xba0f84c0
cmp eax, edx
jl 0x420a66
mov eax, dword [0x48b458]
dec eax
mov dword [0x48b458], eax
or eax, 0xe80ff0e4
mov ecx, dword [0x48ede0]
xor ecx, eax
mov dword [0x48ede0], ecx
jmp 0x420a6b
jmp 0x420a70
mov eax, dword [0x48dc90]
mov ecx, eax
inc ecx
mov dword [0x48dc90], ecx
mov ecx, dword [0x495c70]
imul eax, ecx
and eax, 0xd55e6b55
mov ecx, dword [0x4941d8]
imul ecx, eax
mov dword [0x4941d8], ecx
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x496d80]
imul eax, eax, 0xf34bb0de
mov dword [0x496d80], eax
jmp 0x4208d0
mov ax, word [0x483106]
mov cx, ax
or ecx, 0x2fc2
mov ax, cx
mov word [0x483106], ax
mov dword [esp + 0x58], 0
mov ax, word [0x488290]
mov cx, ax
imul ecx, ecx, 0x40c35efb
mov ax, cx
mov word [0x488290], ax
mov ax, word [0x48049e]
mov cx, ax
or ecx, 0x500e
mov ax, cx
mov word [0x48049e], ax
jmp 0x4206ab
mov eax, dword [0x48db38]
and eax, 0x3a866e60
mov dword [0x48db38], eax
cmp dword [esp + 0x58], 0
je 0x4211f8
mov eax, dword [0x495728]
add eax, 0x1d232ab2
mov dword [0x495728], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
mov cx, word [0x47fd78]
mov ax, cx
inc eax
mov cx, ax
mov word [0x47fd78], cx
and eax, 0x141
or eax, 0xfabe
mov cx, word [0x484862]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x484862], cx
cmp dword [esp + 0x54], 3
jge 0x420be6
mov ax, word [0x4846b4]
movsx ecx, ax
shl ecx, 5
xor ecx, 0xa3a8edd0
mov edx, dword [0x490154]
or edx, ecx
mov dword [0x490154], edx
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x51], 0
mov ecx, dword [0x48f618]
and ecx, 0x801f0ac2
mov dword [0x48f618], ecx
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov ax, word [0x484206]
movsx ecx, ax
or ecx, 0x50fd2dc8
mov edx, dword [0x48bf70]
imul edx, ecx
mov dword [0x48bf70], edx
jmp 0x420b74
mov eax, dword [0x48c2c8]
imul eax, eax, 0xa13a668
mov dword [0x48c2c8], eax
movzx eax, byte [esp + 0x51]
shr eax, 2
mov cl, al
mov byte [esp + 0x4d], cl
mov eax, dword [0x48e840]
or eax, 0x8e9c57e3
mov dword [0x48e840], eax
movzx eax, byte [esp + 0x51]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4e], cl
mov eax, dword [0x4939a0]
imul eax, eax, 0x42c7be91
mov dword [0x4939a0], eax
movzx eax, byte [esp + 0x52]
shr eax, 4
movzx edx, byte [esp + 0x4e]
add edx, eax
mov cl, dl
mov byte [esp + 0x4e], cl
mov eax, dword [0x49c36c]
mov edx, eax
inc edx
mov dword [0x49c36c], edx
and eax, 0x88a2ebf7
mov edx, dword [0x49be64]
imul edx, eax
mov dword [0x49be64], edx
movzx eax, byte [esp + 0x52]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4f], cl
mov eax, dword [0x48d2b8]
sar eax, 5
or eax, 0xb691bd77
mov edx, dword [0x494fc8]
and edx, eax
mov dword [0x494fc8], edx
movzx eax, byte [esp + 0x53]
shr eax, 6
movzx edx, byte [esp + 0x4f]
add edx, eax
mov cl, dl
mov byte [esp + 0x4f], cl
mov eax, dword [0x494048]
mov edx, eax
dec edx
mov dword [0x494048], edx
imul eax, eax, 0x3c331fb3
xor eax, 0x66eb1915
cmp eax, 0xf2f64738
jge 0x420d1d
mov eax, 0xfabb2763
mov ecx, dword [0x49bc7c]
inc ecx
mov dword [0x49bc7c], ecx
mov edx, dword [0x48b478]
dec edx
mov dword [0x48b478], edx
imul ecx, edx
add ecx, 0xc8258235
cmp eax, ecx
jl 0x420d18
mov eax, dword [0x48f5ac]
xor eax, 0xa9e60596
mov ecx, dword [0x48b928]
add ecx, eax
mov dword [0x48b928], ecx
jmp 0x420d1d
movzx eax, byte [esp + 0x53]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x50], cl
mov dx, word [0x481ac6]
mov ax, dx
add eax, 0x88ab5aa
mov dx, ax
mov word [0x481ac6], dx
mov dword [esp + 0x54], 0
mov eax, dword [0x499060]
add eax, 0x90366e6c
mov dword [0x499060], eax
mov eax, dword [0x48ced0]
add eax, 0xb2c6f376
mov dword [0x48ced0], eax
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
jle 0x420d8c
mov eax, dword [0x48a764]
or eax, 0x180da7
mov dword [0x48a764], eax
jmp 0x420fa7
mov eax, dword [0x494780]
add eax, 0x2831200a
mov dword [0x494780], eax
test byte [esp + 0x73], 1
je 0x420eb3
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3d
jle 0x420eb3
mov eax, dword [0x49b550]
imul eax, eax, 0x63c58feb
mov dword [0x49b550], eax
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3e
jne 0x420e33
mov ax, word [0x48530c]
movsx ecx, ax
mov edx, dword [0x49b794]
sub ecx, edx
mov edx, dword [0x48bb8c]
add edx, ecx
mov dword [0x48bb8c], edx
mov ecx, dword [esp + 0x74]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
call fcn.0044fb60
sub esp, 4
mov ecx, dword [0x494e84]
mov edx, ecx
inc edx
mov dword [0x494e84], edx
mov edx, dword [0x48e5f0]
or edx, ecx
mov dword [0x48e5f0], edx
mov dword [esp + 0x1c], eax
jmp 0x420e9f
mov ax, word [0x48766c]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x48766c], dx
movsx ecx, ax
mov esi, dword [0x4949e8]
and ecx, esi
and ecx, 0x56021888
mov dword [0x4949e8], ecx
mov ecx, dword [esp + 0x74]
mov esi, esp
lea edi, [esp + 0x45]
mov dword [esi], edi
call fcn.0044fb60
sub esp, 4
mov ecx, dword [0x48d4d0]
mov esi, ecx
inc esi
mov dword [0x48d4d0], esi
imul ecx, ecx, 0xb3f61f2b
or ecx, 0xa5c73382
mov esi, dword [0x4921f8]
add esi, ecx
mov dword [0x4921f8], esi
mov dword [esp + 0x18], eax
mov eax, dword [0x497418]
or eax, 0xd40b6e41
mov dword [0x497418], eax
jmp 0x420f13
mov eax, dword [0x4999f8]
imul eax, eax, 0x7556dbc0
mov ecx, dword [0x495920]
or eax, ecx
mov dx, word [0x482986]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x482986], dx
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x4d]
mov esi, dword [esp + 0x3c]
movsx eax, byte [esi + eax]
mov esi, esp
mov dword [esi], eax
call fcn.00450100
sub esp, 4
mov ecx, dword [0x496020]
imul ecx, ecx, 0x789532c7
mov dword [0x496020], ecx
mov dword [esp + 0x14], eax
mov eax, 0x173d8960
mov ecx, dword [0x49b8a8]
mov edx, ecx
dec edx
mov dword [0x49b8a8], edx
cmp eax, ecx
je 0x420f65
mov eax, dword [0x48a798]
mov ecx, 0x9547abd1
sub ecx, eax
mov eax, dword [0x48e1f4]
cmp ecx, eax
jle 0x420f60
mov ax, word [0x487eda]
mov cx, ax
add ecx, 0x5dc3f405
mov ax, cx
mov word [0x487eda], ax
jmp 0x420f65
mov eax, 0x3154b2b0
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov dx, word [0x4874ba]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4874ba], dx
movsx ecx, dx
cmp eax, ecx
jle 0x420fa2
mov eax, dword [0x498cc8]
xor eax, 0xd1cd83f5
mov dword [0x498cc8], eax
jmp 0x420d5b
jmp 0x420fac
cmp dword [esp + 0x58], 3
jge 0x4211b5
mov eax, 0xce362c5d
mov ecx, dword [0x49b08c]
mov dx, word [0x482de0]
movsx esi, dx
imul ecx, esi
cmp eax, ecx
jne 0x421020
mov eax, 0xcc2627ea
mov ecx, dword [0x48e5d8]
shl ecx, 0xa
cmp eax, ecx
je 0x42101b
mov ax, word [0x48596e]
movsx ecx, ax
mov edx, dword [0x4921f8]
mov esi, edx
inc esi
mov dword [0x4921f8], esi
imul edx, edx, 0x7472edab
xor ecx, edx
mov edx, dword [0x49217c]
sub edx, ecx
mov dword [0x49217c], edx
jmp 0x421020
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x49aac8]
xor eax, 0x21b7232c
mov dword [0x49aac8], eax
test byte [esp + 0x73], 1
je 0x42110c
mov eax, dword [0x48fdcc]
mov ecx, eax
inc ecx
mov dword [0x48fdcc], ecx
imul eax, eax, 0x5f694a82
xor eax, 0xed9cf27f
mov ecx, dword [0x49024c]
xor ecx, 0xe4737c7b
cmp eax, ecx
jne 0x4210cd
mov eax, 0x7fff3fff
mov cx, word [0x480c90]
movsx edx, cx
shl edx, 0xa
xor edx, 0x4705cfd8
cmp eax, edx
je 0x4210a4
mov eax, dword [0x490624]
and eax, 0x8a31487b
mov dword [0x490624], eax
jmp 0x4210c8
mov eax, dword [0x491700]
shr eax, 6
or eax, 0x6a67
mov cx, word [0x4848dc]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4848dc], cx
jmp 0x4210cd
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.0044fb60
sub esp, 4
mov ecx, dword [0x48bd5c]
and ecx, 0x6b
shl ecx, 9
mov si, word [0x486a9a]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x486a9a], si
mov dword [esp + 0x10], eax
jmp 0x421198
mov eax, 0xfff5fcaf
mov ecx, dword [0x492610]
xor ecx, 0xe2f02927
mov dword [0x492610], ecx
mov ecx, dword [esp + 0x74]
mov edx, esp
mov dword [edx], 0x3d
mov dword [esp + 0xc], eax
call fcn.00450100
sub esp, 4
mov ecx, dword [0x48d660]
shl ecx, 6
and ecx, 0xdb0b69d0
mov edx, dword [esp + 0xc]
cmp edx, ecx
mov dword [esp + 8], eax
jle 0x421189
mov ax, word [0x484c96]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x484c96], ax
movsx ecx, ax
add ecx, 0x3e47d180
mov edx, dword [0x498d80]
and edx, ecx
mov dword [0x498d80], edx
jmp 0x421193
mov dword [0x48dc2c], 0x29729b54
jmp 0x421198
mov ax, word [0x4826bc]
mov cx, ax
add ecx, 0xe1630d33
mov ax, cx
mov word [0x4826bc], ax
jmp 0x420fac
mov ax, word [0x4810b8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4810b8], ax
movsx ecx, ax
imul ecx, ecx, 0x9aca9a3c
or ecx, 0xe472dea9
cmp ecx, 0xb4d21e1d
jle 0x4211f3
mov eax, dword [0x492dcc]
imul eax, eax, 0xef3769f1
mov dword [0x492dcc], eax
jmp 0x4211f8
mov word [0x4876a4], 0xf05b
mov eax, dword [esp + 0x3c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.004140f0
mov eax, dword [0x49b9b8]
mov ecx, eax
inc ecx
mov dword [0x49b9b8], ecx
mov ecx, dword [0x48a010]
mov edx, ecx
inc edx
mov dword [0x48a010], edx
imul eax, ecx
imul eax, eax, 0x38e7cc53
mov ecx, dword [0x49458c]
and ecx, eax
mov dword [0x49458c], ecx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00419200
mov si, word [0x485af6]
movsx eax, si
mov ecx, dword [0x49551c]
sar ecx, 0xa
and ecx, 0x552362c0
or eax, ecx
mov dword [0x490e6c], eax
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00419200
mov eax, dword [0x491544]
and eax, 0x4a147d08
mov dword [0x491544], eax
mov eax, esp
lea ecx, [esp + 0x41]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00419200
mov eax, dword [0x495904]
mov ecx, 0x9e2e8760
sub ecx, eax
or ecx, 0xdd9de3e0
mov eax, dword [0x49b820]
xor eax, ecx
mov dword [0x49b820], eax
add esp, 0x78
pop esi
pop edi
ret