Function at 0x420cc0
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword [0x4966e0]
and eax, 0x64446cff
xor dword [0x493f34], eax
mov ax, word [0x489be8]
mov eax, dword [0x49640c]
lea eax, [eax*8 - 0x319460c]
cmp eax, 0xbf1ff6f7
jl 0x420cfa
mov ax, word [0x4865e8]
xor eax, 0xf36f
mov word [0x4865e8], ax
mov eax, dword [0x48b44c]
mov ecx, dword [0x4973b4]
sar ecx, 5
add ecx, 0x98ff7973
xor ecx, eax
cmp ecx, 0x6071835
jl 0x420d45
mov eax, dword [0x49aa9c]
xor eax, 0x422ff5fc
cmp eax, 0x8f894953
jg 0x420d36
mov eax, dword [0x49aa70]
xor dword [0x498a0c], eax
jmp 0x420d45
mov eax, dword [0x48c5c4]
or eax, 0xc418e82f
mov dword [0x497144], eax
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov ax, word [0x4893ce]
mov ecx, 0xffff8688
sub ecx, eax
and ecx, 0xffff84b1
mov ax, word [0x482308]
xor eax, ecx
mov word [0x482308], ax
mov eax, dword [0x49925c]
mov cx, word [0x489954]
mov dx, word [0x484b2a]
imul edx, eax
imul edx, ecx
mov word [0x484b2a], dx
mov dword [esp + 4], 0x41
mov dword [esp], 0x25d
call fcn.00428130
mov esi, eax
mov eax, dword [0x4971d0]
lea ecx, [eax + 1]
mov dword [0x4971d0], ecx
or eax, 0x499d
mov cx, word [0x48270a]
and ecx, eax
mov word [0x48270a], cx
mov dword [esp + 4], 4
mov dword [esp], 0x801
call fcn.00428130
mov ebx, eax
mov ax, word [0x489178]
add eax, 0xfffff63c
mov word [0x489178], ax
mov dword [esp + 4], ebx
lea eax, [esp + 0x21]
mov dword [esp], eax
call fcn.00452160
mov eax, dword [0x48e7a4]
lea ecx, [eax - 1]
mov dword [0x48e7a4], ecx
imul eax, eax, 0x8c7e8e22
and eax, 0x464c
mov cx, word [0x481324]
sub ecx, eax
mov word [0x481324], cx
mov dword [esp + 4], 4
mov dword [esp], 0x2b20
call fcn.00428130
mov edi, eax
mov ax, word [0x483518]
cwde
not eax
and eax, 0x28f02886
mov ecx, dword [0x4988c8]
inc ecx
mov dword [0x4988c8], ecx
or ecx, eax
add dword [0x4945c8], ecx
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x420eab
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [ebx], 0
mov byte [ebx + 1], 0
mov byte [ebx + 2], 0
mov byte [ebx + 3], 0
mov byte [ebx + 4], 0
mov byte [ebx + 5], 0
mov byte [ebx + 6], 0
mov byte [ebx + 7], 0
add dword [0x49a2e4], 0xb98a7839
mov dword [esp], ebx
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
mov eax, dword [0x490cf8]
imul eax, eax, 0x2a8a2b49
mov dword [0x490cf8], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1d]
mov dword [esp], eax
call fcn.00452160
mov dword [0x49a21c], 0x638c16be
mov dword [esp + 4], 4
mov dword [esp], 0x3701
call fcn.00428130
mov ebp, eax
mov eax, dword [0x48e818]
xor eax, 0xbe2d4ee1
or dword [0x49648c], eax
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x420faf
mov dword [0x498774], 0xbb9b0edf
mov ebx, dword [esp + 0x44]
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov byte [edi + 6], 0
mov byte [edi + 7], 0
add dword [0x49a2e4], 0xb98a7839
mov dword [esp], edi
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
mov eax, dword [0x497390]
sar eax, 8
xor eax, 0x4a693f21
or dword [0x495e5c], eax
mov dword [esp + 4], ebp
lea eax, [esp + 0x19]
mov dword [esp], eax
call fcn.00452160
mov eax, dword [0x492984]
imul eax, eax, 0x5fdfddca
mov dword [0x492984], eax
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x42109a
mov dword [0x498774], 0xbb9b0edf
mov edi, dword [esp + 0x4c]
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [ebp], 0
mov byte [ebp + 1], 0
mov byte [ebp + 2], 0
mov byte [ebp + 3], 0
mov byte [ebp + 4], 0
mov byte [ebp + 5], 0
mov byte [ebp + 6], 0
mov byte [ebp + 7], 0
add dword [0x49a2e4], 0xb98a7839
mov dword [esp], ebp
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
mov dword [0x496cd0], 0xab98530a
xor ebp, ebp
test ebx, ebx
je 0x42158f
mov ecx, dword [esp + 0x40]
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc dword [0x48e730]
mov ax, word [0x485d94]
xor eax, 0xbdf2
mov word [0x485d94], ax
dec ebx
add dword [0x497af0], 0x22878dc7
mov al, byte [ecx]
mov byte [esp + ebp + 0x29], al
mov eax, dword [0x49bd8c]
shl eax, 8
xor dword [0x497ac8], eax
inc ebp
xor dword [0x490754], 0x43f833e9
mov ax, word [0x481b6c]
add eax, 0xb21
mov word [0x481b6c], ax
cmp ebp, 3
jne 0x42157c
mov dword [esp + 0x14], ecx
mov eax, dword [0x49a9c0]
imul eax, eax, 0x9000a440
mov dword [0x49a9c0], eax
mov al, byte [esp + 0x29]
shr al, 2
mov byte [esp + 0x25], al
mov ax, word [0x488282]
cwde
imul eax, eax, 0x58e8a893
mov dword [0x49979c], eax
mov al, byte [esp + 0x29]
shl al, 4
and al, 0x30
mov byte [esp + 0x26], al
or dword [0x498634], 0x96f2f267
mov al, byte [esp + 0x2a]
shr al, 4
add byte [esp + 0x26], al
mov eax, dword [0x490140]
cmp eax, 0xc5a9b21f
jl 0x4211f4
and dword [0x496bdc], 0xb601d33a
mov al, byte [esp + 0x2a]
shl al, 2
and al, 0x3c
mov byte [esp + 0x27], al
mov eax, dword [0x4919dc]
dec eax
mov dword [0x4919dc], eax
or eax, 0xa33d01c6
mov ecx, dword [0x48e8cc]
sub ecx, eax
mov dword [0x48e8cc], ecx
mov al, byte [esp + 0x2b]
shr al, 6
add byte [esp + 0x27], al
mov ax, word [0x4849b4]
imul eax, eax, 0xfffff8cd
mov word [0x4849b4], ax
mov al, byte [esp + 0x2b]
and al, 0x3f
mov byte [esp + 0x28], al
mov eax, dword [0x492b08]
lea ecx, [eax - 1]
mov dword [0x492b08], ecx
cmp eax, 0x752357b2
jl 0x421280
mov dword [esp + 0x10], ebx
mov ax, word [0x481858]
cwde
imul eax, eax, 0x651e6a44
add eax, 0xa1f85af1
and dword [0x49b4d4], eax
jmp 0x4212ad
mov dword [esp + 0x10], ebx
mov eax, dword [0x490174]
mov cx, word [0x4850f6]
movsx ecx, cx
imul ecx, ecx, 0x4d8e354e
and ecx, eax
cmp ecx, 0x4a0e5d72
jl 0x4212ad
mov eax, dword [0x49aed4]
mov eax, dword [0x497720]
xor dword [0x493694], 0x27a314ca
xor ebx, ebx
jmp 0x421410
add dword [0x48daac], 0x42da80e3
mov ax, word [0x4809c2]
lea ecx, [eax + 1]
mov word [0x4809c2], cx
mov ecx, 0x1ee6
sub ecx, eax
mov ax, word [0x480f38]
imul eax, ecx
mov word [0x480f38], ax
mov ax, word [0x489abc]
cwde
add eax, 0x2d8d07de
xor dword [0x48e774], eax
lea eax, [esp + 0x1d]
mov ebp, eax
mov dword [esp], ebp
call fcn.0044ef00
mov dword [esp + 4], eax
mov dword [esp], ebp
mov ecx, edi
call fcn.00417ff0
sub esp, 8
add dword [0x48df54], 0xb2392645
mov dword [0x491168], 0x535488e7
jmp 0x4213c7
mov eax, dword [0x490d98]
shl eax, 2
sar eax, 2
cmp eax, 0x197ec6f2
jg 0x421354
mov dword [0x49247c], 0x7f2ffd38
mov ax, word [0x4809c2]
lea ecx, [eax + 1]
mov word [0x4809c2], cx
mov ecx, 0x1ee6
sub ecx, eax
mov ax, word [0x480f38]
imul eax, ecx
mov word [0x480f38], ax
mov ax, word [0x489abc]
cwde
add eax, 0x2d8d07de
xor dword [0x48e774], eax
lea edi, [esp + 0x21]
mov dword [esp], edi
call fcn.0044ef00
mov dword [esp + 4], eax
mov dword [esp], edi
mov edi, esi
mov ecx, edi
call fcn.00417ff0
sub esp, 8
add dword [0x48df54], 0xb2392645
mov eax, dword [0x4903c8]
imul eax, eax, 0x974f9810
mov dword [0x4903c8], eax
mov esi, ebp
mov eax, dword [0x497330]
shl eax, 6
cmp eax, 0x8018040f
jg 0x421529
mov eax, dword [0x497138]
shl eax, 4
mov ecx, dword [0x494280]
add ecx, ecx
or ecx, eax
cmp ecx, 0xc2fdc268
jg 0x421529
mov ax, word [0x485dfc]
and eax, 0xc3ff
mov word [0x485dfc], ax
jmp 0x421529
mov ax, word [0x488066]
xor eax, 0xffffb195
mov cx, word [0x483686]
or ecx, eax
mov word [0x483686], cx
cmp byte [esp + 0x48], 0
je 0x4214e0
movzx eax, byte [esp + ebx + 0x25]
cmp eax, 0x3e
jb 0x4214e0
mov eax, dword [0x48ab90]
xor eax, 0x8070d5a0
mov ecx, dword [0x48e6bc]
and ecx, 0x19102412
cmp eax, ecx
jge 0x42148c
mov ax, word [0x480c5c]
dec eax
mov word [0x480c5c], ax
cwde
mov ecx, dword [0x492200]
lea edx, [ecx - 1]
mov dword [0x492200], edx
mov edx, 0x9a54b69c
sub edx, eax
lea eax, [edx + ecx - 1]
add dword [0x4938ac], eax
movzx eax, byte [esp + ebx + 0x25]
cmp eax, 0x3e
jne 0x4212be
mov eax, dword [0x48bccc]
add eax, 0x828b39ea
mov cx, word [0x487170]
movsx ecx, cx
sar ecx, 9
xor ecx, eax
mov ebp, esi
mov esi, edi
cmp ecx, 0x269549a6
jg 0x421338
xor dword [0x491118], 0x9b77e7f7
jmp 0x421354
mov eax, dword [0x49abf8]
and eax, 0xaecb
mov cx, word [0x483eee]
or ecx, eax
mov word [0x483eee], cx
movzx eax, byte [esp + ebx + 0x25]
movsx eax, byte [esi + eax]
mov dword [esp + 4], eax
mov dword [esp], 1
mov ecx, edi
call fcn.00416eb0
sub esp, 8
mov ax, word [0x481a3c]
add eax, 0xffffeab6
mov word [0x481a3c], ax
mov eax, dword [0x48b164]
lea ecx, [eax + 1]
mov dword [0x48b164], ecx
mov ecx, 0x3b3ef395
sub ecx, eax
xor ecx, 0x10399802
add dword [0x49a8d4], ecx
inc ebx
xor dword [0x48ee98], 0x8520200
cmp ebx, 4
jne 0x421410
xor dword [0x4969f8], 0xc07da727
mov dword [0x48ae44], 0xd29d74b
xor ebp, ebp
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc ecx
add dword [0x4959c4], 0x4ca8c8e2
test ebx, ebx
jne 0x421130
mov eax, dword [0x49b104]
shl eax, 5
and eax, 0x62c0
mov cx, word [0x4893be]
add ecx, eax
mov word [0x4893be], cx
test ebp, ebp
je 0x421ca6
mov ax, word [0x48700c]
imul eax, eax, 0xfffffc6c
mov cx, word [0x483dd6]
xor ecx, eax
mov word [0x483dd6], cx
mov eax, dword [0x49bc58]
lea ecx, [eax - 1]
mov dword [0x49bc58], ecx
cmp eax, 0x937209f9
jl 0x4215ff
mov eax, dword [0x48eda4]
lea ecx, [eax + 1]
mov dword [0x48eda4], ecx
cmp eax, 0x1945fa8d
jl 0x4215ff
mov eax, dword [0x48c06c]
cmp ebp, 2
jg 0x42167d
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [0x492190]
sar ecx, 1
cmp ecx, 0xd3fffabf
jl 0x42165e
mov ecx, dword [0x49c118]
lea edx, [ecx + 1]
mov dword [0x49c118], edx
imul ecx, ecx, 0x3e4ab7b2
or ecx, 0x5ceaf87f
mov edx, dword [0x499458]
lea ebx, [edx + 1]
mov dword [0x499458], ebx
add edx, 0x804803df
cmp ecx, edx
jle 0x42165e
mov dword [0x48f458], 0x9db7d693
mov byte [esp + eax + 0x29], 0
add dword [0x49313c], 0xffbebbc0
inc eax
add dword [0x496188], 0xd6ce4fc8
cmp eax, 3
jne 0x421610
xor dword [0x48a88c], 0x9eea15f5
mov al, byte [esp + 0x29]
shr al, 2
mov byte [esp + 0x25], al
mov ax, word [0x481b74]
and eax, 0x801c
mov word [0x481b74], ax
mov al, byte [esp + 0x29]
shl al, 4
and al, 0x30
mov byte [esp + 0x26], al
mov eax, dword [0x499e6c]
mov ecx, dword [0x493378]
imul ecx, ecx, 0x966a4190
or ecx, eax
cmp ecx, 0xb18a8449
jl 0x421703
mov eax, dword [0x494944]
mov ecx, dword [0x49945c]
add ecx, eax
mov ax, word [0x484c06]
lea edx, [eax + 1]
mov word [0x484c06], dx
cwde
add eax, ecx
cmp eax, 0x7d9df30c
jg 0x4216fa
mov ax, word [0x487982]
jmp 0x421703
mov word [0x487444], 0xf9c4
mov al, byte [esp + 0x2a]
shr al, 4
add byte [esp + 0x26], al
mov eax, dword [0x49244c]
cmp eax, 0x434bd756
jg 0x42174b
mov eax, dword [0x48bf8c]
lea ecx, [eax - 1]
mov dword [0x48bf8c], ecx
mov cx, word [0x483dce]
lea edx, [ecx - 1]
mov word [0x483dce], dx
movsx ecx, cx
or ecx, eax
mov eax, dword [0x48fc80]
imul eax, ecx
mov dword [0x48fc80], eax
mov al, byte [esp + 0x2a]
shl al, 2
and al, 0x3c
mov byte [esp + 0x27], al
mov ax, word [0x482116]
or eax, 0xffffe97a
mov cx, word [0x489376]
add ecx, eax
mov word [0x489376], cx
mov al, byte [esp + 0x2b]
shr al, 6
add byte [esp + 0x27], al
mov eax, dword [0x48efcc]
or eax, 0x7008fcd5
xor eax, 0x8ff7032a
or dword [0x48e580], eax
mov al, byte [esp + 0x2b]
and al, 0x3f
mov byte [esp + 0x28], al
mov ax, word [0x4862c4]
xor eax, 0xfc3a
mov word [0x4862c4], ax
mov eax, dword [0x494978]
sar eax, 4
or eax, 0x6381e873
mov dword [0x498298], eax
mov eax, dword [0x49908c]
dec eax
mov dword [0x49908c], eax
imul eax, eax, 0x801b27ac
and eax, 0xf35a2ab0
mov ecx, dword [0x48d0b8]
imul ecx, eax
mov dword [0x48d0b8], ecx
test ebp, ebp
mov dword [esp + 0x14], ebp
js 0x421b34
mov eax, dword [esp + 0x14]
lea ebp, [eax + 1]
lea ebx, [esp + 0x25]
jmp 0x421a10
mov dword [0x48ad38], 0x263159c5
jmp 0x421817
mov dword [0x49756c], 0x7eed2019
movzx eax, byte [ebx]
cmp eax, 0x3e
jne 0x421874
mov edi, dword [0x498b40]
mov ecx, dword [0x49a6e4]
dec ecx
mov dword [0x49a6e4], ecx
mov edx, dword [0x48a7a0]
lea eax, [edx + 1]
mov dword [0x48a7a0], eax
and ecx, edx
or ecx, edi
mov eax, dword [0x492b3c]
or eax, 0x26f05b1d
cmp ecx, eax
jne 0x421929
mov eax, dword [0x49420c]
mov ecx, 0x74498bf2
sub ecx, eax
mov eax, dword [0x48c654]
imul eax, ecx
mov dword [0x48c654], eax
jmp 0x42193c
mov eax, dword [0x48b2f8]
imul eax, eax, 0xf00c004
mov dword [0x48b2f8], eax
mov ax, word [0x4809c2]
lea ecx, [eax + 1]
mov word [0x4809c2], cx
mov ecx, 0x1ee6
sub ecx, eax
mov ax, word [0x480f38]
imul eax, ecx
mov word [0x480f38], ax
mov ax, word [0x489abc]
cwde
add eax, 0x2d8d07de
xor dword [0x48e774], eax
lea eax, [esp + 0x1d]
mov dword [esp], eax
call fcn.0044ef00
mov dword [esp + 4], eax
lea eax, [esp + 0x1d]
mov dword [esp], eax
mov ecx, edi
call fcn.00417ff0
sub esp, 8
add dword [0x48df54], 0xb2392645
mov eax, dword [0x49b394]
lea ecx, [eax - 1]
mov dword [0x49b394], ecx
cmp eax, 0x25a0940
jg 0x4219d4
mov eax, dword [0x48d810]
lea ecx, [eax - 1]
mov dword [0x48d810], ecx
mov cx, word [0x48567a]
imul ecx, eax
imul eax, ecx, 0x1cd36fb3
mov word [0x48567a], ax
jmp 0x4219d4
mov eax, dword [0x48b16c]
mov ecx, dword [0x494aa4]
sub ecx, eax
mov dword [0x494aa4], ecx
mov ax, word [0x4809c2]
lea ecx, [eax + 1]
mov word [0x4809c2], cx
mov ecx, 0x1ee6
sub ecx, eax
mov ax, word [0x480f38]
imul eax, ecx
mov word [0x480f38], ax
mov ax, word [0x489abc]
cwde
add eax, 0x2d8d07de
xor dword [0x48e774], eax
lea eax, [esp + 0x21]
mov edi, eax
mov dword [esp], edi
call fcn.0044ef00
mov dword [esp + 4], eax
mov dword [esp], edi
mov edi, dword [esp + 0x4c]
mov ecx, edi
call fcn.00417ff0
sub esp, 8
add dword [0x48df54], 0xb2392645
mov eax, dword [0x48d344]
not eax
mov cx, word [0x4898e4]
movsx ecx, cx
mov edx, dword [0x494f08]
dec edx
mov dword [0x494f08], edx
imul edx, ecx
shl edx, 7
or edx, eax
mov eax, dword [0x492170]
imul eax, edx
mov dword [0x492170], eax
mov eax, dword [0x49153c]
lea ecx, [eax + 1]
mov dword [0x49153c], ecx
mov cx, word [0x48983c]
movsx ecx, cx
not ecx
lea eax, [eax + ecx - 0x57780f56]
cmp eax, 0xf4047cd
jl 0x421ab8
mov word [0x481450], 0x6e16
jmp 0x421ab8
add dword [0x4974cc], 2
cmp byte [esp + 0x48], 0
je 0x421a70
movzx eax, byte [ebx]
cmp eax, 0x3e
jb 0x421a70
mov eax, dword [0x49194c]
add eax, 0x3ee4c48e
cmp eax, 0x17bbe2fd
jl 0x421801
mov eax, dword [0x48f060]
imul eax, eax, 0x7e9f711
xor eax, 0xecca8bea
cmp eax, 0xdfcab76d
jg 0x42180d
and dword [0x4966a8], 0x1884d1e6
jmp 0x421817
or dword [0x497db8], 0x680d6e36
movzx eax, byte [ebx]
movsx eax, byte [esi + eax]
mov dword [esp + 4], eax
mov dword [esp], 1
mov ecx, edi
call fcn.00416eb0
sub esp, 8
mov eax, dword [0x499038]
shr eax, 7
add eax, 0xf1a4
xor eax, 0xac7
mov cx, word [0x488ac2]
and ecx, eax
mov word [0x488ac2], cx
mov eax, dword [0x48bb2c]
or eax, 0xe83adb14
mov ecx, dword [0x498e48]
imul ecx, eax
mov dword [0x498e48], ecx
mov ax, word [0x481b50]
mov ax, word [0x4854ee]
lea ecx, [eax - 1]
mov word [0x4854ee], cx
cwde
mov ecx, 0xfaaa93b1
sub ecx, eax
mov eax, dword [0x492a70]
not eax
add eax, ecx
mov ecx, dword [0x492fdc]
imul ecx, eax
mov dword [0x492fdc], ecx
mov eax, dword [0x49908c]
dec eax
mov dword [0x49908c], eax
imul eax, eax, 0x801b27ac
and eax, 0xf35a2ab0
mov ecx, dword [0x48d0b8]
imul ecx, eax
mov dword [0x48d0b8], ecx
inc ebx
dec ebp
jne 0x421a10
mov eax, dword [0x493cfc]
lea ecx, [eax - 1]
mov dword [0x493cfc], ecx
or dword [0x48da68], eax
mov eax, dword [esp + 0x14]
cmp eax, 2
jg 0x421c98
mov ebx, 3
sub ebx, eax
nop
nop
nop
nop
and dword [0x48c660], 0x9d49a569
mov ax, word [0x487972]
cwde
mov ecx, dword [0x494c7c]
shl ecx, 9
mov edx, dword [0x492c54]
lea ebp, [edx - 1]
mov dword [0x492c54], ebp
xor ecx, edx
or ecx, eax
cmp ecx, 0xb87549f6
jl 0x421b9f
add dword [0x48a92c], 0x69e7a8b2
cmp byte [esp + 0x48], 0
je 0x421c20
xor dword [0x48f2d0], 0xdfe1f13c
mov ax, word [0x4809c2]
lea ecx, [eax + 1]
mov word [0x4809c2], cx
mov ecx, 0x1ee6
sub ecx, eax
mov ax, word [0x480f38]
imul eax, ecx
mov word [0x480f38], ax
mov ax, word [0x489abc]
cwde
add eax, 0x2d8d07de
xor dword [0x48e774], eax
lea eax, [esp + 0x19]
mov edi, eax
mov dword [esp], edi
call fcn.0044ef00
mov dword [esp + 4], eax
mov dword [esp], edi
mov ecx, dword [esp + 0x4c]
call fcn.00417ff0
sub esp, 8
add dword [0x48df54], 0xb2392645
or dword [0x48a2d8], 0xeb219c3d
jmp 0x421c71
mov ax, word [0x487aea]
cwde
and eax, 0x61ea9aae
cmp eax, 0x46074b84
ja 0x421c3d
mov dword [0x491ea4], 0x88e029d7
mov dword [esp + 4], 0x3d
mov dword [esp], 1
mov ecx, dword [esp + 0x4c]
call fcn.00416eb0
sub esp, 8
mov eax, dword [0x498fd8]
mov ecx, dword [0x48af08]
or ecx, eax
or ecx, 0xe722b82b
mov dword [0x48af08], ecx
mov eax, dword [0x48c490]
imul eax, eax, 0x9993966a
xor eax, 0xfd8b
mov cx, word [0x483a70]
add ecx, eax
mov word [0x483a70], cx
dec ebx
jne 0x421b60
mov eax, dword [0x48d19c]
sar eax, 3
add dword [0x48e788], eax
mov ax, word [0x484fce]
add eax, 0xffffdb7e
mov word [0x484fce], ax
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x421d03
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [esi], 0
mov byte [esi + 1], 0
mov byte [esi + 2], 0
mov byte [esi + 3], 0
mov byte [esi + 4], 0
mov byte [esi + 5], 0
mov byte [esi + 6], 0
mov byte [esi + 7], 0
mov byte [esi + 8], 0
mov byte [esi + 9], 0
mov byte [esi + 0xa], 0
mov byte [esi + 0xb], 0
mov byte [esi + 0xc], 0
mov byte [esi + 0xd], 0
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 0
mov byte [esi + 0x10], 0
mov byte [esi + 0x11], 0
mov byte [esi + 0x12], 0
mov byte [esi + 0x13], 0
mov byte [esi + 0x14], 0
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 0
mov byte [esi + 0x17], 0
mov byte [esi + 0x18], 0
mov byte [esi + 0x19], 0
mov byte [esi + 0x1a], 0
mov byte [esi + 0x1b], 0
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1d], 0
mov byte [esi + 0x1e], 0
mov byte [esi + 0x1f], 0
mov byte [esi + 0x20], 0
mov byte [esi + 0x21], 0
mov byte [esi + 0x22], 0
mov byte [esi + 0x23], 0
mov byte [esi + 0x24], 0
mov byte [esi + 0x25], 0
mov byte [esi + 0x26], 0
mov byte [esi + 0x27], 0
mov byte [esi + 0x28], 0
mov byte [esi + 0x29], 0
mov byte [esi + 0x2a], 0
mov byte [esi + 0x2b], 0
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 0
mov byte [esi + 0x2e], 0
mov byte [esi + 0x2f], 0
mov byte [esi + 0x30], 0
mov byte [esi + 0x31], 0
mov byte [esi + 0x32], 0
mov byte [esi + 0x33], 0
mov byte [esi + 0x34], 0
mov byte [esi + 0x35], 0
mov byte [esi + 0x36], 0
mov byte [esi + 0x37], 0
mov byte [esi + 0x38], 0
mov byte [esi + 0x39], 0
mov byte [esi + 0x3a], 0
mov byte [esi + 0x3b], 0
mov byte [esi + 0x3c], 0
mov byte [esi + 0x3d], 0
mov byte [esi + 0x3e], 0
mov byte [esi + 0x3f], 0
mov byte [esi + 0x40], 0
mov byte [esi + 0x41], 0
mov byte [esi + 0x42], 0
mov byte [esi + 0x43], 0
mov byte [esi + 0x44], 0
add dword [0x49a2e4], 0xb98a7839
mov dword [esp], esi
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
mov ax, word [0x489010]
cwde
mov ecx, 0x8ea6ede9
sub ecx, eax
add dword [0x499304], ecx
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x421eb5
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [esp + 0x21], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x24], 0
mov ax, word [0x483e2c]
xor eax, 0xb76
mov word [0x483e2c], ax
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x421f35
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x20], 0
mov eax, dword [0x491140]
mov ax, word [0x4873f2]
inc eax
mov word [0x4873f2], ax
cwde
and eax, 0x588ca25d
mov ecx, dword [0x48a6d8]
shl ecx, 3
xor ecx, 0x9620e071
cmp eax, ecx
jle 0x421fa1
mov ax, word [0x4831fa]
imul eax, eax, 0xffffafef
mov word [0x4831fa], ax
jmp 0x421fb7
mov ax, word [0x48804a]
cwde
mov ecx, dword [0x490f84]
imul ecx, eax
mov dword [0x490f84], ecx
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x421ff9
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 0
mov byte [esp + 0x1c], 0
mov eax, dword [0x4948ac]
dec eax
mov dword [0x4948ac], eax
mov dword [0x49082c], eax
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret