Function at 0x42aae0
Capabilities:
Encode data using base64

Disassembly:
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [esp + 0x90]
mov cl, byte [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x70], eax
and cl, 1
mov byte [esp + 0x6f], cl
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], esi
mov di, word [0x4936be]
movsx eax, di
add eax, 0x5b54f43f
mov edx, dword [0x4a96d0]
imul edx, eax
mov dword [0x4a96d0], edx
mov eax, dword [0x49e1b0]
and eax, 0x8562e023
mov dword [0x49e1b0], eax
mov eax, dword [0x4abffc]
xor eax, 0xc14df5c
mov dword [0x4abffc], eax
mov eax, dword [0x4a365c]
xor eax, 0xd7fc4e7
mov dword [0x4a365c], eax
mov dword [esp + 0x54], 0
mov di, word [0x49169a]
mov ax, di
dec eax
mov di, ax
mov word [0x49169a], di
movsx eax, di
xor eax, 0x8958c576
mov edx, dword [0x4a9f7c]
imul edx, eax
mov dword [0x4a9f7c], edx
mov dword [esp + 0x50], 0
mov eax, dword [0x4a4a7c]
mov edx, eax
inc edx
mov dword [0x4a4a7c], edx
and eax, 0x2db3134b
xor eax, 0x7cd42e1b
mov dword [0x4aa070], eax
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0x65d0
call fcn.004033e0
mov dword [esp + 0x38], eax
mov eax, dword [0x49ebb8]
mov di, word [0x49142c]
mov dx, di
inc edx
mov bx, dx
mov word [0x49142c], bx
movsx edx, di
sub edx, 0x516c08ce
cmp eax, edx
jle 0x42ac0b
mov eax, dword [0x4a4d8c]
add eax, 0x33536183
mov dword [0x4a4d8c], eax
mov eax, 0xb4c40b6
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x71d4
mov dword [esp + 0x34], eax
call fcn.004033e0
mov dword [esp + 0x60], eax
mov eax, dword [0x4acc58]
dec eax
mov dword [0x4acc58], eax
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jle 0x42ac5b
mov ax, word [0x490438]
mov cx, ax
add ecx, 0xbf31da55
mov ax, cx
mov word [0x490438], ax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.00454090
mov dx, word [0x493cb6]
movsx ecx, dx
xor ecx, 0xa786cc7f
mov esi, dword [0x4a74c4]
sub esi, ecx
mov dword [0x4a74c4], esi
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x63a1
mov dword [esp + 0x30], eax
call fcn.004033e0
mov dword [esp + 0x5c], eax
mov dx, word [0x499716]
mov ax, dx
or eax, 0x1c21
mov dx, ax
mov word [0x499716], dx
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0043ade0
mov eax, dword [0x4a0f78]
mov ecx, eax
dec ecx
mov dword [0x4a0f78], ecx
add eax, 0x1689d89a
mov ecx, dword [0x4ac97c]
imul ecx, eax
mov dword [0x4ac97c], ecx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x41]
mov dword [ecx], eax
call fcn.00454090
mov ecx, dword [0x4a45fc]
add ecx, 0x7fecef77
mov dword [0x4a45fc], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x5f45
mov dword [esp + 0x2c], eax
call fcn.004033e0
mov dword [esp + 0x58], eax
mov eax, dword [0x4a091c]
shl eax, 8
mov dx, word [0x496754]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x496754], dx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0043ade0
mov eax, dword [0x4a701c]
or eax, 0x9030c337
mov dword [0x4a701c], eax
mov eax, dword [esp + 0x58]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x3d]
mov dword [ecx], eax
call fcn.00454090
mov dword [0x49a488], 0xe4d452e5
mov ecx, dword [esp + 0x58]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 4
mov dword [esp + 0x28], eax
call fcn.0043ade0
mov eax, dword [0x49a6b8]
imul eax, eax, 0xc0093b00
mov dword [0x49a6b8], eax
cmp dword [esp + 0x68], 0
je 0x42b4b2
mov eax, 0x47ba4894
mov ecx, dword [0x4a6d3c]
inc ecx
mov dword [0x4a6d3c], ecx
imul ecx, ecx, 0x97477496
add ecx, 0x714cc83f
cmp eax, ecx
je 0x42ae1a
mov ax, word [0x4943f2]
mov cx, ax
add ecx, 0x82b5b880
mov ax, word [0x494efe]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x494efe], ax
jmp 0x42ae2a
mov eax, dword [0x49e37c]
imul eax, eax, 0x9677dd7f
mov dword [0x49e37c], eax
mov eax, 0x7bd7eed7
mov ecx, dword [esp + 0x68]
dec ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [0x4a3c78]
dec ecx
mov dword [0x4a3c78], ecx
imul ecx, ecx, 0x77eda985
cmp eax, ecx
jge 0x42ae5d
mov dword [0x49fda4], 0xd7cb6dfd
mov eax, dword [esp + 0x64]
mov cl, byte [eax]
mov eax, dword [esp + 0x54]
mov byte [esp + eax + 0x4d], cl
mov eax, dword [0x4a3f80]
add eax, 0x7120b3f0
mov dword [0x4a3f80], eax
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [0x4a83d0]
xor eax, 0xafff7b9e
mov dword [0x4a83d0], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x4a2d34]
mov edx, eax
dec edx
mov dword [0x4a2d34], edx
add eax, 0xca326c60
mov edx, dword [0x4a2ea4]
or edx, eax
mov dword [0x4a2ea4], edx
cmp dword [esp + 0x54], 3
jne 0x42b482
mov eax, 0x7909c5db
mov ecx, dword [0x499ba4]
shl ecx, 8
or ecx, 0xd4ec64ae
cmp eax, ecx
jne 0x42aef7
mov eax, dword [0x4ac2dc]
and eax, 0x56876b39
mov dword [0x4ac2dc], eax
jmp 0x42af43
mov eax, 0x5aee51be
mov ecx, dword [0x4a1408]
mov edx, ecx
dec edx
mov dword [0x4a1408], edx
add ecx, 0x1016d3bf
xor ecx, 0xd8563844
cmp eax, ecx
jle 0x42af3e
mov eax, dword [0x4a7c38]
mov ecx, 0x185ae94c
sub ecx, eax
and ecx, 0xa5859e2a
mov eax, dword [0x49b5f0]
imul eax, ecx
mov dword [0x49b5f0], eax
jmp 0x42af43
movzx eax, byte [esp + 0x4d]
shr eax, 2
mov cl, al
mov byte [esp + 0x49], cl
mov dx, word [0x4914c8]
movsx eax, dx
mov esi, dword [0x4ad22c]
shl esi, 8
imul esi, esi, 0x82c67480
and esi, 0xa711a64
cmp eax, esi
jne 0x42af8c
mov eax, dword [0x4a5f7c]
mov ecx, dword [0x499a00]
xor eax, ecx
not eax
mov dword [0x499a00], eax
movzx eax, byte [esp + 0x4d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4a], cl
mov eax, dword [0x49eb60]
cmp eax, 0x9cbf4567
je 0x42afbd
mov eax, dword [0x4ad1b4]
imul eax, eax, 0x81aa0d8f
mov dword [0x4ad1b4], eax
movzx eax, byte [esp + 0x4e]
shr eax, 4
movzx ecx, byte [esp + 0x4a]
add ecx, eax
mov dl, cl
mov byte [esp + 0x4a], dl
mov eax, dword [0x4a9cfc]
mov ecx, dword [0x4a0b40]
xor ecx, 0x2e05bf40
cmp eax, ecx
jg 0x42affb
mov eax, dword [0x49a2d8]
imul eax, eax, 0x13b21523
mov dword [0x49a2d8], eax
movzx eax, byte [esp + 0x4e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4b], cl
mov eax, dword [0x4ad18c]
imul eax, eax, 0x520b93a5
or eax, 0x6d98b9f0
mov edx, dword [0x4a4d3c]
xor edx, 0xffffffff
cmp eax, edx
jg 0x42b069
mov eax, 0x65e5f53d
mov ecx, dword [0x4a1c10]
inc ecx
mov dword [0x4a1c10], ecx
and ecx, 0xe2eeccf8
mov edx, dword [0x4a14d8]
xor ecx, edx
cmp eax, ecx
jne 0x42b064
mov eax, dword [0x49d030]
and eax, 0x9aedc40
mov dword [0x49d030], eax
jmp 0x42b069
mov eax, 0x50752b88
movzx ecx, byte [esp + 0x4f]
shr ecx, 6
movzx edx, byte [esp + 0x4b]
add edx, ecx
mov bl, dl
mov byte [esp + 0x4b], bl
mov ecx, dword [0x4a6010]
xor ecx, 0xbfbff7dd
mov dword [0x4a6010], ecx
movzx ecx, byte [esp + 0x4f]
and ecx, 0x3f
mov bl, cl
mov byte [esp + 0x4c], bl
mov ecx, dword [0x4a299c]
and ecx, 0xb54b8603
mov dword [0x4a299c], ecx
mov dword [esp + 0x54], 0
mov ecx, dword [0x4a8ac4]
inc ecx
mov dword [0x4a8ac4], ecx
cmp eax, ecx
jl 0x42b0eb
mov eax, dword [0x4a9cb0]
imul eax, eax, 0xd340418b
mov ecx, dword [0x4aac54]
or ecx, eax
mov dword [0x4aac54], ecx
jmp 0x42b0f0
cmp dword [esp + 0x54], 4
je 0x42b41d
mov eax, 0x1caaebf0
mov cx, word [0x494432]
movsx edx, cx
imul edx, edx, 0x4c273ee3
cmp eax, edx
jle 0x42b128
mov eax, dword [0x4a0cf8]
imul eax, eax, 0xb2776a3d
mov dword [0x4a0cf8], eax
test byte [esp + 0x6f], 1
je 0x42b2ea
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x42b2ea
mov eax, dword [0x49a344]
mov ecx, eax
inc ecx
mov dword [0x49a344], ecx
mov ecx, 0xec4bfed5
sub ecx, eax
and ecx, 0x8f6bfa41
mov dx, word [0x491b34]
mov ax, dx
dec eax
mov si, ax
mov word [0x491b34], si
movsx eax, dx
mov edi, dword [0x49c6b4]
xor edi, 0xffffffff
and eax, edi
cmp ecx, eax
jge 0x42b19a
mov eax, dword [0x4a6dd4]
add eax, 0x8f4d2cc6
mov dword [0x4a6dd4], eax
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x42b256
mov eax, dword [0x4a5860]
mov ecx, eax
inc ecx
mov dword [0x4a5860], ecx
xor eax, 0x9d064510
mov ecx, dword [0x4aca78]
mov edx, ecx
dec edx
mov dword [0x4aca78], edx
add ecx, 0x2c1c0826
xor ecx, 0x50401fd0
cmp eax, ecx
jl 0x42b227
mov eax, 0x33693c
mov cx, word [0x49640c]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jg 0x42b222
mov ax, word [0x497a80]
movsx ecx, ax
shr ecx, 1
mov ax, word [0x4955b8]
mov dx, ax
imul ecx, edx
imul ecx, ecx, 0x1fa4475
mov ax, cx
mov word [0x4955b8], ax
jmp 0x42b227
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00445480
sub esp, 4
mov ecx, dword [0x4a1fa8]
add ecx, 0x308325f6
mov dword [0x4a1fa8], ecx
mov dword [esp + 0x24], eax
jmp 0x42b2d6
mov eax, dword [0x4a02e8]
or eax, 0xbbccc8c9
mov dword [0x4a02e8], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.00445480
sub esp, 4
mov ecx, dword [0x49b7a8]
inc ecx
mov dword [0x49b7a8], ecx
xor ecx, 0x12cbf292
cmp ecx, 0xb94679b0
mov dword [esp + 0x20], eax
jle 0x42b2ba
mov eax, dword [0x4ac334]
or eax, 0x33345e36
mov ecx, dword [0x49e360]
imul ecx, eax
mov dword [0x49e360], ecx
jmp 0x42b2d1
mov eax, dword [0x4a3810]
mov ecx, dword [0x4a2af8]
and eax, ecx
and eax, 0x83a677aa
mov dword [0x4a2af8], eax
jmp 0x42b2d6
mov eax, dword [0x4ac7d8]
or eax, 0xce986f9f
mov dword [0x4ac7d8], eax
jmp 0x42b3a5
mov eax, dword [0x4ab998]
inc eax
mov dword [0x4ab998], eax
and eax, 0xc5764f8e
xor eax, 0x5a6e38cf
cmp eax, 0x1d9eb21c
jl 0x42b357
mov eax, dword [0x49e668]
mov ecx, eax
inc ecx
mov dword [0x49e668], ecx
and eax, 0xd70175db
or eax, 0x66f705b2
cmp eax, 0x322b5bff
jg 0x42b352
mov eax, dword [0x49e818]
add eax, 0xb378f643
and eax, 0xe502
mov cx, word [0x492ae8]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x492ae8], cx
jmp 0x42b357
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
mov edx, dword [esp + 0x38]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00407840
sub esp, 4
mov ecx, dword [0x4ac8d8]
imul ecx, ecx, 0x92dce4e8
mov edx, 0xaedd3b12
sub edx, ecx
mov si, word [0x497f8a]
mov cx, si
or ecx, edx
mov si, cx
mov word [0x497f8a], si
mov dword [esp + 0x1c], eax
mov eax, dword [0x4a83cc]
mov cx, word [0x490ebe]
movsx edx, cx
add eax, edx
and eax, 0x78fe7b93
mov edx, dword [0x49a348]
mov esi, edx
dec esi
mov dword [0x49a348], esi
or edx, 0xe7950169
cmp eax, edx
jl 0x42b3e7
mov eax, dword [0x49d8b8]
xor eax, 0xdbb6fe1d
mov dword [0x49d8b8], eax
mov eax, 0x925d53ea
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4a7538]
xor ecx, 0xd2df81fc
cmp eax, ecx
jge 0x42b418
mov eax, dword [0x4a216c]
xor eax, 0x7b74f022
mov dword [0x4a216c], eax
jmp 0x42b0f0
mov eax, dword [0x4ace44]
sar eax, 0xa
mov ecx, dword [0x4a3b98]
mov edx, ecx
inc edx
mov dword [0x4a3b98], edx
add eax, ecx
xor eax, 0xa79c29a9
mov ecx, dword [0x49d4f8]
add ecx, eax
mov dword [0x49d4f8], ecx
mov dword [esp + 0x54], 0
mov eax, dword [0x4a76bc]
mov ecx, eax
dec ecx
mov dword [0x4a76bc], ecx
mov ecx, 0x29b3f37
sub ecx, eax
xor ecx, 0x9f67
mov si, word [0x496442]
mov ax, si
sub eax, ecx
mov si, ax
mov word [0x496442], si
mov ax, word [0x497bc4]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x497bc4], dx
movsx ecx, ax
or ecx, 0xd2dd7cc0
mov esi, dword [0x4a2bc4]
add esi, ecx
mov dword [0x4a2bc4], esi
jmp 0x42adc1
mov eax, dword [0x4a79f0]
mov ecx, eax
inc ecx
mov dword [0x4a79f0], ecx
mov ecx, 0xb665913b
sub ecx, eax
or ecx, 0x291ebc0b
mov eax, dword [0x4a22a8]
sub eax, ecx
mov dword [0x4a22a8], eax
cmp dword [esp + 0x54], 0
je 0x42bb65
mov eax, 0x33d06ee0
mov cx, word [0x48f79a]
mov dx, cx
dec edx
mov si, dx
mov word [0x48f79a], si
movsx edx, cx
cmp eax, edx
je 0x42b525
mov eax, dword [0x4a2674]
and eax, 0x81c50047
mov ecx, dword [0x4a2a74]
lea eax, [ecx + eax + 0x5e3a6fb8]
mov dword [0x4a2a74], eax
mov eax, 0xa90047f7
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x50], ecx
mov dx, word [0x4913e2]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x4913e2], dx
movsx ecx, dx
sub eax, ecx
add eax, 0x196e7ced
cmp eax, 0x161e4dde
jle 0x42b57e
mov eax, dword [0x4ad44c]
imul eax, eax, 0x628e84f9
mov ecx, dword [0x4aaa50]
lea eax, [eax + ecx + 0x6cec4e1d]
mov dword [0x4aaa50], eax
jmp 0x42b58d
mov eax, dword [0x4a2b10]
xor eax, 0xf4be6ae3
mov dword [0x4a2b10], eax
jmp 0x42b592
cmp dword [esp + 0x50], 3
jge 0x42b607
mov eax, dword [0x4ac308]
xor eax, 0x10524a56
mov ecx, dword [0x49ce3c]
or ecx, eax
mov dword [0x49ce3c], ecx
mov eax, dword [esp + 0x50]
mov byte [esp + eax + 0x4d], 0
mov dx, word [0x495d90]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x495d90], dx
and eax, 0x434f
mov dx, word [0x4901a6]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4901a6], dx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov word [0x495df4], 0xe0fc
jmp 0x42b592
mov eax, 0x105a7a48
mov cx, word [0x499452]
mov dx, cx
or edx, 0xdc44
mov cx, dx
mov word [0x499452], cx
movzx edx, byte [esp + 0x4d]
shr edx, 2
mov bl, dl
mov byte [esp + 0x49], bl
mov edx, dword [0x4a8b20]
mov esi, edx
dec esi
mov dword [0x4a8b20], esi
mov cx, word [0x497f52]
mov si, cx
lea edx, [esi + edx - 1]
mov cx, dx
mov word [0x497f52], cx
movzx edx, byte [esp + 0x4d]
and edx, 3
shl edx, 4
mov bl, dl
mov byte [esp + 0x4a], bl
mov edx, dword [0x4a365c]
add edx, 0x97067df4
cmp eax, edx
jle 0x42b6bc
mov eax, dword [0x4aae04]
mov ecx, eax
inc ecx
mov dword [0x4aae04], ecx
mov dx, word [0x48f8ca]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x48f8ca], dx
movsx ecx, dx
and eax, ecx
mov ecx, dword [0x4a72d8]
imul ecx, eax
mov dword [0x4a72d8], ecx
jmp 0x42b6cb
mov eax, dword [0x4aa0d8]
add eax, 0x7f906e0b
mov dword [0x4aa0d8], eax
mov eax, 0x333c0b08
movzx ecx, byte [esp + 0x4e]
shr ecx, 4
movzx edx, byte [esp + 0x4a]
add edx, ecx
mov bl, dl
mov byte [esp + 0x4a], bl
mov si, word [0x492d90]
movsx ecx, si
cmp eax, ecx
jne 0x42b70b
mov eax, dword [0x4acf08]
xor eax, 0x6393f63a
mov dword [0x4acf08], eax
jmp 0x42b73a
mov eax, 0xd34c7252
mov ecx, dword [0x4a2064]
mov edx, dword [0x4ad0b4]
and ecx, edx
cmp eax, ecx
jl 0x42b735
mov eax, dword [0x49b32c]
or eax, 0xf5cff51b
mov dword [0x49b32c], eax
jmp 0x42b73a
mov eax, 0x8769294f
movzx ecx, byte [esp + 0x4e]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x4b], dl
mov si, word [0x491ac0]
mov cx, si
shl ecx, 7
mov edi, 0x63dbd43b
sub edi, ecx
mov si, word [0x49095e]
mov cx, si
add ecx, edi
mov si, cx
mov word [0x49095e], si
movzx ecx, byte [esp + 0x4f]
shr ecx, 6
movzx edi, byte [esp + 0x4b]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x4b], dl
mov si, word [0x495b88]
mov cx, si
imul ecx, ecx, 0xf32d7bff
mov si, cx
mov word [0x495b88], si
movzx ecx, byte [esp + 0x4f]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x4c], dl
mov ecx, dword [0x4a498c]
dec ecx
mov dword [0x4a498c], ecx
xor ecx, 0x3e85869
cmp eax, ecx
jne 0x42b7e3
mov eax, dword [0x4a92f4]
or eax, 0x77f875ff
mov dword [0x4a92f4], eax
mov dword [esp + 0x50], 0
mov ax, word [0x496136]
movsx ecx, ax
xor ecx, 0xd9b4f448
mov edx, dword [0x49bb08]
sub edx, ecx
mov dword [0x49bb08], edx
mov eax, dword [0x4ab9a4]
add eax, 0x3feffdfd
mov dword [0x4ab9a4], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jle 0x42b83a
mov eax, dword [0x4a650c]
imul eax, eax, 0x24697c6b
mov dword [0x4a650c], eax
jmp 0x42ba8b
mov eax, dword [0x4ad124]
add eax, 0x423a78a0
and eax, 0xd8585869
mov ecx, dword [0x4a231c]
add ecx, eax
mov dword [0x4a231c], ecx
test byte [esp + 0x6f], 1
je 0x42b9d6
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x42b9d6
mov ax, word [0x495a24]
mov cx, ax
imul ecx, ecx, 0x575efe6f
mov ax, cx
mov word [0x495a24], ax
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x49]
cmp ecx, 0x3e
jne 0x42b96a
mov eax, dword [0x49ebcc]
mov cx, word [0x4979d4]
mov dx, cx
inc edx
mov si, dx
mov word [0x4979d4], si
movsx edx, cx
cmp eax, edx
jne 0x42b93b
mov eax, 0x8768c3c
mov ecx, dword [0x4a2198]
mov edx, ecx
dec edx
mov dword [0x4a2198], edx
add ecx, 0x82d1faa
mov edx, dword [0x4a1220]
add ecx, edx
cmp eax, ecx
je 0x42b919
mov ax, word [0x491aac]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x491aac], ax
mov ax, word [0x496eec]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x496eec], ax
jmp 0x42b936
mov eax, 0xfbf3fffd
mov ecx, dword [0x4a1988]
cmp eax, ecx
je 0x42b931
jmp 0x42b931
jmp 0x42b936
jmp 0x42b93b
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00445480
sub esp, 4
mov ecx, dword [0x49a650]
imul ecx, ecx, 0xbba828cf
mov dword [0x49a650], ecx
mov dword [esp + 0x18], eax
jmp 0x42b9b9
mov eax, dword [0x4a3418]
mov ecx, dword [0x49c634]
add ecx, 0x5a0c4118
and eax, ecx
mov dword [0x49b6a4], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.00445480
sub esp, 4
mov si, word [0x492320]
movsx ecx, si
xor ecx, 0xf9dccb00
mov edx, dword [0x49bdbc]
imul edx, ecx
mov dword [0x49bdbc], edx
mov dword [esp + 0x14], eax
mov ax, word [0x4977f6]
mov cx, ax
add ecx, 0x93c8df8e
mov ax, cx
mov word [0x4977f6], ax
jmp 0x42ba1c
mov eax, dword [0x4a9fd8]
and eax, 0xbb817064
mov dword [0x4a9fd8], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
mov edx, dword [esp + 0x38]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00407840
sub esp, 4
mov ecx, dword [0x49f148]
add ecx, 0x4bb99131
mov dword [0x49f148], ecx
mov dword [esp + 0x10], eax
mov eax, dword [0x4a6bcc]
inc eax
mov dword [0x4a6bcc], eax
imul eax, eax, 0x7e3767be
add eax, 0x9ae9b56c
mov ecx, dword [0x4aaa84]
imul ecx, eax
mov dword [0x4aaa84], ecx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov dx, word [0x495030]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x495030], dx
mov dx, word [0x4957fe]
movsx ecx, dx
shr ecx, 7
or eax, ecx
mov dx, word [0x4939c8]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4939c8], dx
jmp 0x42b808
jmp 0x42ba90
cmp dword [esp + 0x54], 3
jge 0x42bb5c
mov dword [0x4a9480], 0xfdaeed7f
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov cx, word [0x48f9a8]
movsx eax, cx
mov edx, dword [0x4a8a08]
lea eax, [eax + edx + 0x18c4b34e]
mov dword [0x4a8a08], eax
test byte [esp + 0x6f], 1
je 0x42bb13
mov ax, word [0x49646e]
movsx ecx, ax
mov dword [0x4a12a4], ecx
mov ecx, dword [esp + 0x70]
mov edx, esp
lea esi, [esp + 0x3d]
mov dword [edx], esi
call fcn.00445480
sub esp, 4
mov ecx, dword [0x4a3498]
imul ecx, ecx, 0xb04d598e
mov dword [0x4a3498], ecx
mov dword [esp + 0xc], eax
jmp 0x42bb4d
mov eax, dword [0x49f6ac]
imul eax, eax, 0x154ee92e
mov dword [0x49f6ac], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
mov dword [eax], 0x3d
call fcn.00407840
sub esp, 4
mov ecx, dword [0x49e514]
add ecx, 0x99c1ac10
mov dword [0x49e514], ecx
mov dword [esp + 8], eax
mov dword [0x4ac380], 0x4f5c286e
jmp 0x42ba90
mov word [0x49037a], 0xa3cd
mov eax, dword [0x4a71d4]
or eax, 0xd6c4e70f
mov dword [0x4a71d4], eax
mov eax, dword [esp + 0x38]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.0043ade0
mov dx, word [0x495b7c]
mov ax, dx
inc eax
mov si, ax
mov word [0x495b7c], si
movsx eax, dx
mov ecx, dword [0x49d0d4]
and ecx, eax
mov dword [0x49d0d4], ecx
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00441e20
mov word [0x495168], 0x72ac
mov eax, esp
lea ecx, [esp + 0x41]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00441e20
mov dword [0x4a754c], 0x3e1ae7b8
mov eax, esp
lea ecx, [esp + 0x3d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00441e20
mov eax, dword [0x4ac6c4]
not eax
add eax, 0xaaa38853
mov ecx, dword [0x4a3dd4]
mov edi, ecx
dec edi
mov dword [0x4a3dd4], edi
and eax, ecx
mov dx, word [0x4922b6]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4922b6], dx
add esp, 0x74
pop esi
pop edi
pop ebx
ret