Function at 0x4508a0
Capabilities:
Encode data using base64

Disassembly:
push ebx
push edi
push esi
sub esp, 0x78
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov edi, 0xc0ba735d
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 [0x49542c]
add eax, 0x44d08614
mov dword [0x49542c], eax
mov bx, word [0x49aa14]
movsx eax, bx
add eax, 0x2d4ef2b2
mov dword [0x48ed34], eax
mov eax, dword [0x493610]
imul eax, eax, 0xfcfffffb
mov dword [0x493610], eax
mov dword [0x493df0], 0x7db2cede
mov dword [esp + 0x58], 0
mov bx, word [0x499f2c]
movsx eax, bx
imul eax, eax, 0xb63353aa
mov edx, dword [0x48fdec]
dec edx
mov dword [0x48fdec], edx
xor eax, edx
cmp edi, eax
je 0x45095e
mov ax, word [0x499bdc]
mov cx, ax
add ecx, 0x6ff7fc00
mov ax, cx
mov word [0x499bdc], ax
mov eax, 0xe0002804
mov dword [esp + 0x54], 0
mov cx, word [0x497c9a]
mov dx, cx
mov esi, edx
dec esi
mov cx, si
mov word [0x497c9a], cx
imul edx, edx, 0xed724393
mov cx, word [0x4976b0]
mov si, cx
add esi, edx
mov cx, si
mov word [0x4976b0], cx
mov edx, esp
mov dword [edx + 4], 0x41
mov dword [edx], 0x39ef
mov dword [esp + 0x38], eax
call fcn.00447ef0
mov dword [esp + 0x3c], eax
mov cx, word [0x496648]
movsx eax, cx
add eax, 0x90995cb3
mov edx, dword [0x48ba2c]
imul edx, eax
mov dword [0x48ba2c], edx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x4482
call fcn.00447ef0
mov dword [esp + 0x64], eax
mov eax, dword [0x490748]
sar eax, 9
and eax, 0x2df2ffef
mov edx, dword [0x48d830]
xor edx, eax
mov dword [0x48d830], edx
mov eax, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x49]
mov dword [edx], eax
call fcn.00455f40
mov edx, dword [0x4941bc]
or edx, 0x29965a9c
mov dword [0x4941bc], edx
mov edx, esp
mov dword [edx + 4], 4
mov dword [edx], 0x164a
mov dword [esp + 0x34], eax
call fcn.00447ef0
mov dword [esp + 0x60], eax
mov eax, dword [0x493770]
xor eax, 0xcbc6b7bd
mov edx, dword [0x48d76c]
add edx, eax
mov dword [0x48d76c], edx
mov eax, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 4
call fcn.00437960
mov cx, word [0x49b3a4]
movsx eax, cx
not eax
mov edx, dword [0x494590]
or edx, eax
mov dword [0x494590], edx
mov eax, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x45]
mov dword [edx], eax
call fcn.00455f40
mov edx, dword [0x490224]
mov esi, edx
dec esi
mov dword [0x490224], esi
add edx, 0xf9d799be
mov dword [0x48c074], edx
mov edx, esp
mov dword [edx + 4], 4
mov dword [edx], 0x2f89
mov dword [esp + 0x30], eax
call fcn.00447ef0
mov dword [esp + 0x5c], eax
mov cx, word [0x49644a]
movsx eax, cx
add eax, 0xce013f49
or eax, 0xea260688
mov edx, dword [esp + 0x38]
cmp edx, eax
jle 0x450b16
mov ax, word [0x497424]
mov cx, ax
add ecx, 0xeffa50d1
mov ax, cx
mov word [0x497424], ax
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00437960
mov dx, word [0x495e3e]
mov ax, dx
add eax, 0xbf8fa7fe
mov dx, ax
mov word [0x495e3e], dx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x41]
mov dword [ecx], eax
call fcn.00455f40
mov ecx, dword [0x495794]
and ecx, 0xf1ccc832
mov dword [0x495794], ecx
mov ecx, dword [esp + 0x5c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 4
mov dword [esp + 0x2c], eax
call fcn.00437960
mov eax, dword [0x491200]
imul eax, eax, 0x4354f982
mov dword [0x491200], eax
cmp dword [esp + 0x6c], 0
je 0x4510da
mov eax, 0x7a0e6ca1
mov ecx, dword [0x48ceac]
imul ecx, ecx, 0x17085aaf
mov dword [0x48ceac], ecx
mov ecx, dword [esp + 0x6c]
dec ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x495bb0]
mov edx, ecx
inc edx
mov dword [0x495bb0], edx
imul ecx, ecx, 0xe07a4c9f
mov edx, 0x229070ea
sub edx, ecx
mov ecx, dword [0x4923c4]
xor ecx, edx
mov dword [0x4923c4], ecx
mov ecx, dword [esp + 0x68]
mov bl, byte [ecx]
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x51], bl
mov ecx, dword [0x48c454]
or ecx, 0x240b448
mov dword [0x48c454], ecx
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [0x48b414]
cmp eax, ecx
jne 0x450c2f
mov eax, dword [0x493e8c]
sar eax, 1
imul eax, eax, 0x4df04a7f
mov dword [0x4911a8], eax
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov cx, word [0x49653c]
mov ax, cx
mov edx, eax
dec edx
mov cx, dx
mov word [0x49653c], cx
and eax, 0x2ce8
mov cx, ax
mov word [0x496bac], cx
cmp dword [esp + 0x58], 3
jne 0x45104c
mov eax, 0xc96086c7
mov cx, word [0x498e60]
mov dx, cx
inc edx
mov cx, dx
mov word [0x498e60], cx
movsx edx, cx
mov esi, dword [0x494f38]
sub esi, edx
mov dword [0x494f38], esi
movzx edx, byte [esp + 0x51]
shr edx, 2
mov bl, dl
mov byte [esp + 0x4d], bl
mov edx, dword [0x48ddb4]
imul edx, edx, 0xd7b8f086
cmp eax, edx
jge 0x450cc5
mov eax, dword [0x48bbec]
and eax, 0x134f7024
mov dword [0x48bbec], eax
movzx eax, byte [esp + 0x51]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4e], cl
mov eax, dword [0x48cb8c]
xor eax, 0x984a08ab
mov dword [0x48cb8c], 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 word [0x49a976], 0x7fe1
movzx eax, byte [esp + 0x52]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4f], cl
mov eax, dword [0x4933d4]
not eax
mov si, word [0x498f20]
mov dx, si
or eax, edx
or eax, 0xd7d0
mov si, ax
mov word [0x498f20], si
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 [0x490c80]
shl eax, 8
cmp eax, 0xc81df53b
jge 0x450d7f
mov eax, dword [0x491910]
mov ecx, eax
inc ecx
mov dword [0x491910], ecx
add eax, 0xb1f3f406
mov ecx, dword [0x48cecc]
sub ecx, eax
mov dword [0x48cecc], ecx
movzx eax, byte [esp + 0x53]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x50], cl
mov eax, dword [0x48ccc8]
imul eax, eax, 0xf96f1a83
mov edx, dword [0x492a2c]
not edx
and eax, edx
mov edx, dword [0x494754]
mov esi, dword [0x492ed0]
imul esi, esi, 0x23edde82
add edx, esi
cmp eax, edx
je 0x450dea
mov eax, dword [0x48e55c]
xor eax, 0xffffffff
or eax, 0x1a44cfcf
cmp eax, 0xcbdd9ffb
jg 0x450de5
mov eax, dword [0x48fc54]
mov cx, ax
mov word [0x499582], cx
jmp 0x450dea
mov dword [esp + 0x58], 0
mov ax, word [0x49b128]
movsx ecx, ax
not ecx
mov edx, dword [0x48c270]
add edx, ecx
mov dword [0x48c270], edx
cmp dword [esp + 0x58], 4
je 0x450faf
mov eax, 0x26d7022
mov ecx, dword [0x490164]
mov edx, ecx
inc edx
mov dword [0x490164], edx
and ecx, 0xf8e9aa09
cmp eax, ecx
je 0x450e53
mov eax, dword [0x48ae84]
mov cx, word [0x496f4a]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x496f4a], cx
test byte [esp + 0x73], 1
je 0x450f21
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3d
jle 0x450f21
mov dword [0x48efd8], 0x52f3d727
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3e
jne 0x450ed4
mov eax, dword [0x495af8]
add eax, 0xe467b06e
mov dword [0x495af8], eax
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.0043c380
sub esp, 4
mov ecx, dword [0x493fb4]
not ecx
add ecx, 0x1c338ba0
mov edx, dword [0x48b21c]
and edx, ecx
mov dword [0x48b21c], edx
mov dword [esp + 0x28], eax
jmp 0x450f0d
mov eax, dword [0x4915d8]
and eax, 0xb3f797b
mov dword [0x4915d8], eax
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.0043c380
sub esp, 4
mov ecx, dword [0x4907e8]
or ecx, 0x3d485e32
mov dword [0x4907e8], ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x48f8b8]
and eax, 0x6954f778
mov dword [0x48f8b8], eax
jmp 0x450f67
mov eax, dword [0x48c9b4]
add eax, 0x9624901
mov dword [0x48c9b4], 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.00443640
sub esp, 4
mov ecx, dword [0x4901f8]
add ecx, 0x44108b11
mov dword [0x4901f8], ecx
mov dword [esp + 0x20], eax
mov eax, 0x48faeefa
mov ecx, dword [0x491384]
and ecx, 0x7672cc65
mov dword [0x491384], ecx
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [0x491028]
xor ecx, 0xce6fe845
cmp eax, ecx
jne 0x450faa
mov eax, dword [0x49416c]
and eax, 0xf9b19562
mov dword [0x49416c], eax
jmp 0x450e0b
mov eax, dword [0x490890]
add eax, 0xb179a531
mov dword [0x490890], eax
mov dword [esp + 0x58], 0
mov eax, dword [0x49240c]
mov ecx, eax
dec ecx
mov dword [0x49240c], ecx
add eax, 0xa3c31ea4
mov dx, word [0x49a4ba]
movsx ecx, dx
xor ecx, 0xffffffff
sub ecx, 0xe2914ab6
cmp eax, ecx
jle 0x451047
mov eax, 0x420000
mov ecx, dword [0x4913c8]
mov edx, ecx
dec edx
mov dword [0x4913c8], edx
cmp eax, ecx
jge 0x45101f
mov dword [0x48edb8], 0x29ccc29c
jmp 0x451042
mov eax, 0x95fbd94d
mov ecx, dword [0x48bf0c]
or ecx, 0x8ed99a5e
cmp eax, ecx
je 0x45103d
jmp 0x45103d
jmp 0x451042
jmp 0x451047
jmp 0x45104c
mov eax, 0xf8fe948f
mov ecx, dword [0x4950a8]
cmp eax, ecx
jg 0x451080
mov eax, dword [0x48aea8]
add eax, 0x9dcd72b6
mov ecx, dword [0x48cc64]
or eax, ecx
or eax, 0xb7779981
mov dword [0x48cc64], eax
jmp 0x4510d5
mov eax, 0x261471d6
mov cx, word [0x498000]
movsx edx, cx
imul edx, edx, 0xb376a459
sub edx, 0xc1f0b571
cmp eax, edx
jle 0x4510b5
mov eax, dword [0x48ed44]
sar eax, 7
mov dword [0x490574], eax
jmp 0x4510d0
mov eax, dword [0x4940e8]
mov ecx, dword [0x48e7e4]
imul ecx, eax
shl ecx, 7
mov dx, cx
mov word [0x497d0a], dx
jmp 0x4510d5
jmp 0x450b91
mov eax, dword [0x48fd18]
sar eax, 7
and eax, 0xf5498d68
mov ecx, dword [0x490e84]
imul ecx, eax
mov dword [0x490e84], ecx
cmp dword [esp + 0x58], 0
je 0x45177d
mov ax, word [0x4979a6]
mov cx, ax
imul ecx, ecx, 0x221c0245
mov ax, cx
mov word [0x4979a6], ax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4904e0]
mov edx, dword [0x492428]
and ecx, edx
mov edx, dword [0x48b7c8]
imul edx, ecx
mov dword [0x48b7c8], edx
cmp dword [esp + 0x54], 3
jge 0x4511ed
mov eax, dword [0x495468]
and eax, 0x229480f6
mov dword [0x495468], eax
mov eax, dword [esp + 0x54]
mov byte [esp + eax + 0x51], 0
mov eax, dword [0x4949c8]
mov ecx, eax
dec ecx
mov dword [0x4949c8], ecx
mov ecx, 0xc7eda348
sub ecx, eax
or ecx, 0xaf705d09
mov eax, dword [0x48b374]
sar eax, 5
or eax, 0xf020ec58
cmp ecx, eax
jl 0x4511a9
mov ax, word [0x49891a]
mov cx, ax
add ecx, 0xed5c5dfd
mov ax, cx
mov word [0x49891a], ax
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [0x48f984]
mov ecx, dword [0x48b1d4]
mov edx, ecx
dec edx
mov dword [0x48b1d4], edx
add ecx, 0xb607117f
or eax, ecx
cmp eax, 0xc805090e
jne 0x4511e8
mov eax, dword [0x48b3cc]
add eax, 0x946d4d44
mov dword [0x48b3cc], eax
jmp 0x45113e
mov eax, 0x6e70e20d
mov ecx, dword [0x491c20]
or ecx, 0x306e9af3
mov dword [0x491c20], ecx
movzx ecx, byte [esp + 0x51]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x4d], dl
mov si, word [0x499044]
movsx ecx, si
shl ecx, 1
cmp eax, ecx
jle 0x451275
mov ax, word [0x49795c]
movsx ecx, ax
xor ecx, 0xffffffff
xor ecx, 0x481021d1
cmp ecx, 0x746fce46
jg 0x451261
mov ax, word [0x49887c]
movsx ecx, ax
mov edx, dword [0x48d4e4]
or edx, ecx
mov dword [0x48d4e4], edx
jmp 0x451270
mov eax, dword [0x48b028]
add eax, 0x170808a1
mov dword [0x48b028], eax
jmp 0x451275
movzx eax, byte [esp + 0x51]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4e], cl
mov eax, dword [0x4952b8]
and eax, 0x1648cc07
mov dword [0x4952b8], 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 [0x492788]
mov edx, dword [0x48b55c]
or eax, edx
or eax, 0xbc8f32a4
mov dword [0x48b55c], eax
movzx eax, byte [esp + 0x52]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4f], cl
mov eax, dword [0x48c95c]
mov edx, eax
dec edx
mov dword [0x48c95c], edx
mov edx, dword [0x48c3cc]
sar edx, 6
neg edx
lea eax, [eax + edx - 1]
mov edx, dword [0x48e49c]
and edx, eax
mov dword [0x48e49c], 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 si, word [0x4976ac]
mov ax, si
mov edx, dword [0x494d00]
or eax, edx
mov si, word [0x499296]
mov dx, si
imul edx, eax
mov si, dx
mov word [0x499296], si
movzx eax, byte [esp + 0x53]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x50], cl
mov eax, dword [0x48c1cc]
or eax, 0x1b3d0f63
mov dword [0x48c1cc], eax
mov dword [esp + 0x54], 0
mov eax, dword [0x49283c]
add eax, 0xa2b16c7e
mov dword [0x49283c], eax
mov eax, dword [0x48c5ec]
mov ecx, eax
dec ecx
mov dword [0x48c5ec], ecx
add eax, 0x4a6433b
mov ecx, dword [0x493a18]
cmp eax, ecx
jg 0x4513a3
mov eax, dword [0x48b6dc]
mov ecx, dword [0x48af6c]
add ecx, eax
mov dword [0x48af6c], ecx
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
jle 0x4513d7
mov ax, word [0x496576]
movsx ecx, ax
shl ecx, 3
mov edx, 0xc79e882f
sub edx, ecx
mov ecx, dword [0x4932a0]
and ecx, edx
mov dword [0x4932a0], ecx
jmp 0x4515ee
mov eax, dword [0x49004c]
add eax, 0xda2508f0
mov dword [0x49004c], eax
test byte [esp + 0x73], 1
je 0x451572
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3d
jle 0x451572
mov eax, dword [0x48f4b0]
mov ecx, eax
inc ecx
mov dword [0x48f4b0], ecx
and eax, 0xce67
mov dx, word [0x49a12e]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x49a12e], dx
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x4d]
cmp eax, 0x3e
jne 0x4514f5
mov eax, dword [0x48b524]
add eax, 0x3b68a38d
mov ecx, dword [0x48ce64]
inc ecx
mov dword [0x48ce64], ecx
add ecx, 0x2b13e6fe
cmp eax, ecx
jne 0x4514be
mov eax, 0x40a5c39b
mov ecx, dword [0x4913a0]
sub eax, ecx
cmp eax, 0xeb7a973d
jle 0x45148a
mov dword [0x4947bc], 0xa3e42db5
jmp 0x4514b9
mov eax, 0x68747694
mov cx, word [0x498c56]
movsx edx, cx
xor edx, 0xffffffff
xor edx, 0xe7a4714a
cmp eax, edx
jle 0x4514af
jmp 0x4514b4
jmp 0x4514b4
jmp 0x4514b9
jmp 0x4514be
mov ecx, dword [esp + 0x74]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.0043c380
sub esp, 4
mov si, word [0x49891c]
mov cx, si
add ecx, 0xccdd556d
mov si, cx
mov word [0x49891c], si
mov dword [esp + 0x1c], eax
jmp 0x451550
mov eax, dword [0x492384]
mov ecx, eax
dec ecx
mov dword [0x492384], ecx
or eax, 0xeb84
mov dx, word [0x497bbe]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x497bbe], dx
mov ecx, dword [esp + 0x74]
mov eax, esp
lea esi, [esp + 0x45]
mov dword [eax], esi
call fcn.0043c380
sub esp, 4
mov dx, word [0x49accc]
mov cx, dx
add ecx, 0x5af894a1
mov dx, cx
mov word [0x49accc], dx
mov dword [esp + 0x18], eax
mov eax, dword [0x48d8f8]
imul eax, eax, 0x461f041f
mov ecx, dword [0x491148]
lea eax, [eax + ecx - 0x65f4f588]
mov dword [0x491148], eax
jmp 0x4515b8
mov eax, dword [0x49202c]
or eax, 0xfbf1ccf6
mov dword [0x49202c], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x54]
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.00443640
sub esp, 4
mov ecx, dword [0x492564]
add ecx, 0x100270a6
mov dword [0x492564], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x48c2b8]
add eax, 0xf8f33a64
mov dword [0x48c2b8], eax
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov cx, word [0x49909c]
mov ax, cx
add eax, 0x5fdffec2
mov cx, ax
mov word [0x49909c], cx
jmp 0x45136f
jmp 0x4515f3
cmp dword [esp + 0x58], 3
jge 0x451709
mov eax, dword [0x48f468]
and eax, 0x7cb7da72
cmp eax, 0x4828afd6
jl 0x45162b
mov ax, word [0x499ad8]
mov cx, ax
add ecx, 0x5db36040
mov ax, cx
mov word [0x499ad8], ax
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x4947a8]
inc eax
mov dword [0x4947a8], eax
xor eax, 0x22804012
mov ecx, dword [0x48e270]
and ecx, eax
mov dword [0x48e270], ecx
test byte [esp + 0x73], 1
je 0x4516b1
mov ax, word [0x498c44]
movsx ecx, ax
mov edx, dword [0x48c218]
xor ecx, edx
xor ecx, 0xb68b1745
mov dword [0x48c218], ecx
mov ecx, dword [esp + 0x74]
mov edx, esp
lea esi, [esp + 0x41]
mov dword [edx], esi
call fcn.0043c380
sub esp, 4
mov di, word [0x499e60]
mov cx, di
imul ecx, ecx, 0x6ff337db
mov di, cx
mov word [0x499e60], di
mov dword [esp + 0x10], eax
jmp 0x4516fa
mov ax, word [0x49909c]
movsx ecx, ax
not ecx
and ecx, 0xd1ab9018
mov dword [0x48fc24], ecx
mov ecx, dword [esp + 0x74]
mov edx, esp
mov dword [edx], 0x3d
call fcn.00443640
sub esp, 4
mov si, word [0x498720]
mov cx, si
or ecx, 0x1610
mov si, cx
mov word [0x498720], si
mov dword [esp + 0xc], eax
mov dword [0x48f4b4], 0x6aa8d34f
jmp 0x4515f3
mov eax, dword [0x492034]
mov ecx, eax
dec ecx
mov dword [0x492034], ecx
add eax, 0x41751ac7
mov ecx, dword [0x48dbf0]
mov edx, ecx
inc edx
mov dword [0x48dbf0], edx
and ecx, 0xb8d81a6a
cmp eax, ecx
jg 0x451778
mov eax, 0x6e8b85c2
mov ecx, dword [0x494b4c]
shl ecx, 5
cmp eax, ecx
jge 0x451764
mov eax, dword [0x48be78]
imul eax, eax, 0x2c7e7862
mov dword [0x48be78], eax
jmp 0x451773
mov eax, dword [0x48e288]
xor eax, 0xa7693e26
mov dword [0x48e288], eax
jmp 0x451778
jmp 0x45177d
mov eax, dword [0x48db6c]
xor eax, 0x29d7bf5e
or eax, 0xd1ee84d8
cmp eax, 0x72b58637
jl 0x4517a0
mov word [0x497fa2], 0xdf18
mov eax, dword [esp + 0x3c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.00437960
mov dx, word [0x499b46]
mov ax, dx
dec eax
mov dx, ax
mov word [0x499b46], dx
movsx eax, dx
add eax, 0x9fac824b
mov ecx, dword [0x48d70c]
or eax, ecx
cmp eax, 0xbfd782b
jl 0x4517ee
mov dword [0x49331c], 0x62668a38
mov eax, 0x1100e01
mov ecx, esp
lea edx, [esp + 0x49]
mov dword [ecx], edx
mov dword [ecx + 4], 4
mov dword [esp + 8], eax
call fcn.0041c290
mov eax, dword [0x495068]
or eax, 0x797177a2
mov dword [0x495068], eax
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0041c290
mov eax, dword [0x4934e8]
mov ecx, dword [0x48d02c]
xor ecx, 0xffffffff
imul eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jg 0x451855
mov dword [0x48f3a4], 0xf5eb7dd4
mov eax, esp
lea ecx, [esp + 0x41]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0041c290
mov eax, dword [0x48ba3c]
and eax, 0x3374f3b3
mov dword [0x48ba3c], eax
add esp, 0x78
pop esi
pop edi
pop ebx
ret