Function at 0x4201d0
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 edi, 0x8e7906c7
mov dword [esp + 0x70], eax
and cl, 1
mov byte [esp + 0x6f], cl
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], esi
mov eax, dword [0x4a8d38]
add eax, 0x182f8233
mov edx, dword [0x4a6004]
or eax, edx
or eax, 0x8516c080
mov dword [0x4a6004], eax
mov eax, dword [0x4a6e3c]
mov edx, eax
inc edx
mov dword [0x4a6e3c], edx
mov edx, dword [0x4a8578]
shr edx, 6
imul eax, edx
mov edx, 0x1b15c89c
sub edx, eax
mov bx, word [0x4b2df4]
mov ax, bx
sub eax, edx
mov bx, ax
mov word [0x4b2df4], bx
mov eax, dword [0x4a1248]
shr eax, 3
or eax, 0xb5f8
mov bx, word [0x4b75b2]
mov dx, bx
imul edx, eax
mov bx, dx
mov word [0x4b75b2], bx
mov bx, word [0x4b228e]
mov ax, bx
add eax, 0x80e921a0
mov bx, ax
mov word [0x4b228e], bx
mov dword [esp + 0x54], 0
mov eax, dword [0x4a5a68]
imul eax, eax, 0x29c0353c
mov dword [0x4a5a68], eax
mov dword [esp + 0x50], 0
mov eax, dword [0x4a1380]
add eax, 0x1a9c1a2c
mov dword [0x4a1380], eax
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0x1bd8
mov dword [esp + 0x34], edi
call fcn.004489c0
mov dword [esp + 0x38], eax
mov eax, dword [0x4a5e0c]
or eax, 0xb1b34cb8
mov dword [0x4a5e0c], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1bc3
call fcn.004489c0
mov dword [esp + 0x60], eax
mov eax, dword [0x4ad1f8]
add eax, 0xb9d26d58
and eax, 0xe339
mov bx, word [0x4b3c3a]
mov dx, bx
add edx, eax
mov bx, dx
mov word [0x4b3c3a], bx
mov eax, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x45]
mov dword [edx], eax
call fcn.00455770
mov edx, dword [0x49b470]
shl edx, 1
mov esi, dword [esp + 0x34]
cmp esi, edx
mov dword [esp + 0x30], eax
jl 0x42036d
mov eax, dword [0x49a9bc]
and eax, 0xbdaedd66
mov dword [0x49a9bc], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x9435
call fcn.004489c0
mov dword [esp + 0x5c], eax
mov eax, dword [0x4aa2d4]
mov ecx, 0xde9954c8
sub ecx, eax
and ecx, 0x569d339e
mov eax, dword [0x4a4164]
mov edx, eax
inc edx
mov dword [0x4a4164], edx
xor eax, 0xbb1084a6
mov si, word [0x4af6ac]
movsx edx, si
sar edx, 5
or eax, edx
cmp ecx, eax
jge 0x4203df
mov ax, word [0x4b3a52]
movsx ecx, ax
or ecx, 0x319e4759
mov edx, dword [0x4a6cdc]
imul edx, ecx
mov dword [0x4a6cdc], edx
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004073a0
mov eax, dword [0x49ad98]
inc eax
mov dword [0x49ad98], eax
imul eax, eax, 0x9ea102ad
xor eax, 0xdc3dd142
mov ecx, dword [0x4a0aa0]
and ecx, eax
mov dword [0x4a0aa0], ecx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x41]
mov dword [ecx], eax
call fcn.00455770
mov dx, word [0x4aecac]
mov cx, dx
and ecx, 0xf669
mov dx, cx
mov word [0x4aecac], dx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x5543
mov dword [esp + 0x2c], eax
call fcn.004489c0
mov dword [esp + 0x58], eax
mov eax, dword [0x4a54f4]
inc eax
mov dword [0x4a54f4], eax
and eax, 0x9c3a16be
mov ecx, dword [0x49b504]
dec ecx
mov dword [0x49b504], ecx
cmp eax, ecx
jg 0x4204a3
mov eax, dword [0x4ac7d0]
imul eax, eax, 0xec5680a5
mov ecx, dword [0x49f92c]
xor eax, ecx
xor eax, 0x5010f8ee
mov dword [0x49f92c], eax
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004073a0
mov eax, dword [0x49cf90]
add eax, 0x1db86658
mov dword [0x49cf90], eax
mov eax, dword [esp + 0x58]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x3d]
mov dword [ecx], eax
call fcn.00455770
mov ecx, dword [0x4a7bc0]
mov edx, ecx
inc edx
mov dword [0x4a7bc0], edx
mov edx, dword [0x49c138]
xor ecx, edx
xor ecx, 0xdf483d91
mov dword [0x49c138], ecx
mov ecx, dword [esp + 0x58]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x28], eax
call fcn.004073a0
mov eax, dword [0x4a2e5c]
add eax, 0xb6bd1554
mov dword [0x4a2e5c], eax
cmp dword [esp + 0x68], 0
je 0x4209ef
mov eax, dword [0x4a6eec]
add eax, 0xa86e4605
mov dword [0x4a6eec], eax
mov eax, dword [esp + 0x68]
dec eax
mov dword [esp + 0x68], eax
mov eax, dword [0x4a4ee4]
and eax, 0xc6058d2e
mov ecx, dword [0x49ea28]
sar ecx, 0xa
add ecx, 0x4d693acd
cmp eax, ecx
jg 0x420577
mov eax, dword [0x4a2fb0]
and eax, 0xf5b69d9c
mov dword [0x4a2fb0], eax
mov eax, 0xecc4f416
mov ecx, dword [esp + 0x64]
mov dl, byte [ecx]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x4d], dl
mov ecx, dword [0x4a2344]
or ecx, 0x6a2f47be
mov dword [0x4a2344], ecx
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x49c560]
xor ecx, 0xffffffff
cmp eax, ecx
jl 0x4205ca
mov eax, dword [0x4acd14]
add eax, 0xac5f5cf5
mov dword [0x4acd14], eax
jmp 0x4205d9
mov eax, dword [0x4ac338]
xor eax, 0x6be9ea63
mov dword [0x4ac338], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x4ac884]
imul eax, eax, 0xa41731fc
mov dword [0x4ac884], eax
cmp dword [esp + 0x54], 3
jne 0x4209d2
mov eax, dword [0x4a3dbc]
imul eax, eax, 0x6bba0963
mov dword [0x4a3dbc], eax
movzx eax, byte [esp + 0x4d]
shr eax, 2
mov cl, al
mov byte [esp + 0x49], cl
mov dx, word [0x4aeb7c]
movsx eax, dx
add eax, 0x857cf12e
mov dx, word [0x4aea1e]
mov si, dx
dec esi
mov dx, si
mov word [0x4aea1e], dx
movsx esi, dx
or esi, 0xcc84ef7
cmp eax, esi
jle 0x4206a9
mov eax, 0x118
mov ecx, dword [0x4a16f8]
sar ecx, 7
and ecx, 0x7ee8bf42
cmp eax, ecx
jle 0x4206a4
mov eax, dword [0x4a1224]
sar eax, 8
mov cx, word [0x4b1840]
mov dx, cx
dec edx
mov si, dx
mov word [0x4b1840], si
movsx edx, cx
and edx, 0x3561fb68
cmp eax, edx
jl 0x42069f
jmp 0x42069f
jmp 0x4206a4
jmp 0x4206a9
movzx eax, byte [esp + 0x4d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4a], cl
mov dword [0x49ed38], 0x54290b7e
movzx eax, byte [esp + 0x4e]
shr eax, 4
movzx edx, byte [esp + 0x4a]
add edx, eax
mov cl, dl
mov byte [esp + 0x4a], cl
mov eax, dword [0x4a042c]
add eax, 0x181f9c80
mov dword [0x4a042c], eax
movzx eax, byte [esp + 0x4e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4b], cl
mov eax, dword [0x4a3498]
sar eax, 5
cmp eax, 0x33ef9a91
jle 0x420716
mov dword [0x4a0b88], 0xa86f0cfa
movzx eax, byte [esp + 0x4f]
shr eax, 6
movzx ecx, byte [esp + 0x4b]
add ecx, eax
mov dl, cl
mov byte [esp + 0x4b], dl
mov si, word [0x4b7ab8]
mov ax, si
xor eax, 0xa148
mov si, ax
mov word [0x4b7ab8], si
movzx eax, byte [esp + 0x4f]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x4c], dl
mov eax, dword [0x4a3170]
add eax, 0xfdf73454
mov dword [0x4a3170], eax
mov dword [esp + 0x54], 0
mov si, word [0x4b1a08]
mov ax, si
add eax, 0xffefbffe
mov si, ax
mov word [0x4b1a08], si
cmp dword [esp + 0x54], 4
je 0x42099f
mov eax, dword [0x4a4e58]
or eax, 0xd4bdee38
mov dword [0x4a4e58], eax
test byte [esp + 0x6f], 1
je 0x42089c
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x42089c
mov eax, dword [0x49bdd0]
imul eax, eax, 0x6310ce33
mov dword [0x4a3bb4], eax
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x420829
mov eax, dword [0x4a6244]
mov ecx, dword [0x4acd88]
and eax, ecx
and eax, 0xbfc81123
mov dword [0x4acd88], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00414560
sub esp, 4
mov si, word [0x4b1aa0]
mov cx, si
imul ecx, ecx, 0x2c2f2b9d
mov si, cx
mov word [0x4b1aa0], si
mov dword [esp + 0x24], eax
jmp 0x42087f
mov eax, dword [0x4aacc8]
or eax, 0xe4c505fa
mov ecx, dword [0x49eecc]
sub ecx, eax
mov dword [0x49eecc], ecx
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.00414560
sub esp, 4
mov ecx, dword [0x4a1e14]
and ecx, 0xc5e20d70
cmp ecx, 0x36dea647
mov dword [esp + 0x20], eax
jne 0x42087a
mov word [0x4b0788], 0x1f23
jmp 0x42087f
mov ax, word [0x4b66b6]
mov cx, ax
xor ecx, 0x9f1c
mov ax, cx
mov word [0x4b66b6], ax
jmp 0x420961
mov eax, dword [0x4aa914]
mov ecx, eax
inc ecx
mov dword [0x4aa914], ecx
mov ecx, dword [0x49db68]
or eax, ecx
mov dx, word [0x4b2af2]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4b2af2], dx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
mov esi, dword [esp + 0x38]
movsx eax, byte [esi + eax]
mov esi, esp
mov dword [esi], eax
call fcn.00447420
sub esp, 4
mov ecx, dword [0x49c74c]
mov esi, dword [0x4a7258]
xor esi, 0xffffffff
imul esi, esi, 0xa0e6c5e4
and esi, 0xdbd8ed21
cmp ecx, esi
mov dword [esp + 0x1c], eax
jl 0x42095c
mov eax, 0xd9194b22
mov ecx, dword [0x4a5bd8]
dec ecx
mov dword [0x4a5bd8], ecx
and ecx, 0x1de66e30
cmp eax, ecx
jle 0x420957
mov eax, 0xc94feea
mov ecx, dword [0x4a75e4]
mov edx, ecx
dec edx
mov dword [0x4a75e4], edx
cmp eax, ecx
jl 0x420952
jmp 0x420952
jmp 0x420957
jmp 0x42095c
jmp 0x420961
mov ax, word [0x4b6f0a]
mov cx, ax
mov ax, word [0x4b0422]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4b0422], ax
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4adbb8]
or ecx, 0xb51fbf9a
mov dword [0x4adbb8], ecx
jmp 0x420782
mov eax, dword [0x4a7a8c]
or eax, 0x98e15575
mov dword [0x4a7a8c], eax
mov dword [esp + 0x54], 0
mov cx, word [0x4b257e]
movsx eax, cx
mov edx, dword [0x4a2808]
and eax, edx
and eax, 0xab102404
mov dword [0x4a2808], eax
mov eax, dword [0x4a0064]
add eax, 0x9eab2ffd
mov ecx, dword [0x4a2efc]
or ecx, eax
mov dword [0x4a2efc], ecx
jmp 0x420524
mov eax, dword [0x4ac074]
or eax, 0xca1dd4c7
mov dword [0x4ac074], eax
cmp dword [esp + 0x54], 0
je 0x42111b
mov eax, dword [0x4aa898]
xor eax, 0xed5bedf4
mov dword [0x4aa898], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov cx, word [0x4b34d0]
mov ax, cx
dec eax
mov dx, ax
mov word [0x4b34d0], dx
movsx eax, cx
xor eax, 0xb6b6c331
mov dword [0x4aaa98], eax
cmp dword [esp + 0x50], 3
jge 0x420b2d
mov dword [0x49e91c], 0x5939bf9e
mov eax, dword [esp + 0x50]
mov byte [esp + eax + 0x4d], 0
mov cx, word [0x4af2fe]
mov ax, cx
dec eax
mov cx, ax
mov word [0x4af2fe], cx
movsx eax, cx
cmp eax, 0x208c2761
jge 0x420aa3
mov eax, dword [0x4a9484]
sar eax, 8
and eax, 0x5de746aa
mov ecx, dword [0x49b5c4]
xor ecx, eax
mov dword [0x49b5c4], ecx
jmp 0x420abf
mov eax, dword [0x4a4540]
mov ecx, eax
dec ecx
mov dword [0x4a4540], ecx
mov ecx, dword [0x49f49c]
or ecx, eax
mov dword [0x49f49c], ecx
mov eax, 0xfa9c499c
mov ecx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [0x4aaa54]
mov edx, ecx
inc edx
mov dword [0x4aaa54], edx
xor ecx, 0xea117bf7
cmp eax, ecx
jge 0x420afe
mov eax, dword [0x4a01b4]
or eax, 0xbbe9d869
mov dword [0x4a01b4], eax
jmp 0x420b28
mov eax, dword [0x4a4074]
inc eax
mov dword [0x4a4074], eax
and eax, 0x197f657a
mov cx, word [0x4b0c92]
movsx edx, cx
or eax, edx
mov edx, dword [0x4a0e54]
and edx, eax
mov dword [0x4a0e54], edx
jmp 0x420a42
mov eax, 0x21828f0
mov ecx, dword [0x49c71c]
or ecx, 0x7ba7a7d5
mov dword [0x49c71c], ecx
movzx ecx, byte [esp + 0x4d]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x49], dl
mov si, word [0x4af760]
movsx ecx, si
not ecx
mov edi, dword [0x4a4ffc]
or edi, ecx
mov dword [0x4a4ffc], edi
movzx ecx, byte [esp + 0x4d]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x4a], dl
mov ecx, dword [0x49a300]
xor ecx, 0xa3344b1f
mov dword [0x49a300], ecx
movzx ecx, byte [esp + 0x4e]
shr ecx, 4
movzx edi, byte [esp + 0x4a]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x4a], dl
mov si, word [0x4b35d4]
mov cx, si
inc ecx
mov bx, cx
mov word [0x4b35d4], bx
movsx ecx, si
imul ecx, ecx, 0xa55eb3f2
neg ecx
mov edi, dword [0x49d318]
lea ecx, [edi + ecx - 0x35c1cfaa]
mov dword [0x49d318], ecx
movzx ecx, byte [esp + 0x4e]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x4b], dl
mov si, word [0x4b5690]
movsx ecx, si
xor ecx, 0x5b4eeb9
mov edi, dword [0x49a82c]
imul edi, ecx
mov dword [0x49a82c], edi
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 ecx, dword [0x4a521c]
and ecx, 0xd00cbffe
mov dword [0x4a521c], ecx
movzx ecx, byte [esp + 0x4f]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x4c], dl
mov ecx, dword [0x4ab04c]
add ecx, 0x604b5baa
cmp eax, ecx
je 0x420c92
mov eax, 0xa3d2c3f2
mov ecx, dword [0x4a806c]
mov edx, dword [0x49fd28]
mov esi, edx
inc esi
mov dword [0x49fd28], esi
xor ecx, edx
or ecx, 0x96f1a449
cmp eax, ecx
jge 0x420c8d
mov eax, dword [0x4a20d0]
or eax, 0x422009
mov dword [0x4a20d0], eax
jmp 0x420c92
mov dword [esp + 0x50], 0
mov eax, dword [0x4aa798]
mov ecx, eax
inc ecx
mov dword [0x4aa798], ecx
add eax, 0x6cd91098
mov ecx, dword [0x4a45e8]
or ecx, eax
mov dword [0x4a45e8], ecx
mov eax, dword [0x4a1e94]
sub eax, 0x676aeeb7
add eax, 0x4d053c22
cmp eax, 0x5631719d
jl 0x420ce9
mov eax, dword [0x49b24c]
add eax, 0x5360c558
mov dword [0x49b24c], eax
jmp 0x420cf8
mov eax, dword [0x4a32a0]
add eax, 0xbd9b5b27
mov dword [0x4a32a0], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jle 0x420d32
mov eax, dword [0x49a598]
mov ecx, eax
dec ecx
mov dword [0x49a598], ecx
imul eax, eax, 0x79859d85
xor eax, 0xb775f23c
mov ecx, dword [0x4a83d4]
sub ecx, eax
mov dword [0x4a83d4], ecx
jmp 0x420f4d
mov word [0x4b0e52], 0x775d
test byte [esp + 0x6f], 1
je 0x420e53
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x420e53
mov eax, dword [0x4a310c]
dec eax
mov dword [0x4a310c], eax
and eax, 0xca812139
mov ecx, dword [0x4abd7c]
mov edx, ecx
inc edx
mov dword [0x4abd7c], edx
or eax, ecx
mov ecx, dword [0x4aafcc]
xor ecx, eax
mov dword [0x4aafcc], ecx
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x420dd8
mov eax, dword [0x4a8e30]
imul eax, eax, 0x855b440
mov dword [0x4a8e30], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00414560
sub esp, 4
mov ecx, dword [0x49fb8c]
or ecx, 0x8f6e9082
mov dword [0x49fb8c], ecx
mov dword [esp + 0x18], eax
jmp 0x420e3c
mov eax, 0x40003b09
mov ecx, dword [0x4a6464]
shl ecx, 7
imul ecx, ecx, 0xae00bf6c
cmp eax, ecx
jg 0x420e03
mov dword [0x49c1c8], 0x9dc9f8ba
jmp 0x420e12
mov eax, dword [0x4a43a0]
add eax, 0x7b3f5d7a
mov dword [0x4a43a0], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.00414560
sub esp, 4
mov ecx, dword [0x4a60cc]
imul ecx, ecx, 0x58acae49
mov dword [0x4ab7ac], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x4ac9dc]
shl eax, 2
and eax, 0x6df1e9dc
mov dword [0x4a63ec], eax
jmp 0x420f0c
mov eax, dword [0x4a1ef4]
add eax, 0xc6bf6b60
mov dword [0x4a1ef4], 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.00447420
sub esp, 4
mov ecx, dword [0x4a024c]
mov edx, 0x62233206
sub edx, ecx
mov ecx, dword [0x4aa4a4]
cmp edx, ecx
mov dword [esp + 0x10], eax
jge 0x420ece
mov eax, 0xbc399445
mov cx, word [0x4b105c]
movsx edx, cx
sub edx, 0xb10e285f
cmp eax, edx
je 0x420ec9
mov dword [0x4aa30c], 0xf5bf133d
jmp 0x420f07
mov eax, 0xb31f6d7e
mov cx, word [0x4b0ef2]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4b0ef2], cx
movsx edx, cx
cmp eax, edx
jne 0x420f02
mov eax, dword [0x49d340]
or eax, 0x7fd7adf5
mov dword [0x49d340], eax
jmp 0x420f07
jmp 0x420f0c
mov eax, dword [0x4a4e48]
shr eax, 2
imul eax, eax, 0x1a93cce8
mov cx, word [0x4b393c]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4b393c], cx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [0x4aa0f8]
or eax, 0x1210
mov dword [0x4aa0f8], eax
jmp 0x420cbb
jmp 0x420f52
cmp dword [esp + 0x54], 3
jge 0x4210e3
mov word [0x4b5ce6], 0xefce
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov cx, word [0x4b718e]
mov ax, cx
imul eax, eax, 0xe63ef9fd
mov cx, ax
mov word [0x4b718e], cx
test byte [esp + 0x6f], 1
je 0x420fdd
mov eax, dword [0x4a0e68]
add eax, 0xc9611835
mov dword [0x4a0e68], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x3d]
mov dword [eax], edx
call fcn.00414560
sub esp, 4
mov si, word [0x4b3534]
movsx ecx, si
mov edx, dword [0x4adabc]
lea ecx, [ecx + edx + 0x7f701c8f]
mov dword [0x4adabc], ecx
mov dword [esp + 0xc], eax
jmp 0x42106a
mov eax, dword [0x4abe98]
mov ecx, eax
dec ecx
mov dword [0x4abe98], ecx
add eax, 0x42308627
and eax, 0xde82ba30
mov ecx, dword [0x4a037c]
imul ecx, ecx, 0xf98fcef
cmp eax, ecx
jle 0x42102a
mov eax, dword [0x4a468c]
mov ecx, eax
dec ecx
mov dword [0x4a468c], ecx
mov ecx, 0x2a5df389
sub ecx, eax
mov eax, dword [0x4ab3d8]
xor eax, ecx
mov dword [0x4ab3d8], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
mov dword [eax], 0x3d
call fcn.00447420
sub esp, 4
mov ecx, dword [0x4a4330]
add ecx, 0x1d5b46d3
xor ecx, 0x8c
mov dx, word [0x4b3638]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4b3638], dx
mov dword [esp + 8], eax
mov eax, 0xb4425e64
mov ecx, dword [0x4ad460]
shl ecx, 4
or ecx, 0x7d0098e7
cmp eax, ecx
jl 0x4210af
mov ax, word [0x4b069c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4b069c], ax
movsx ecx, ax
mov edx, dword [0x4a0fbc]
add edx, ecx
mov dword [0x4a0fbc], edx
jmp 0x4210de
mov eax, dword [0x4a1e4c]
mov cx, word [0x4b7ede]
movsx edx, cx
mov cx, word [0x4b7c0e]
movsx esi, cx
imul esi, edx
shl esi, 7
sub eax, esi
mov edx, dword [0x49c804]
or edx, eax
mov dword [0x49c804], edx
jmp 0x420f52
mov eax, dword [0x4a6804]
add eax, 0x6b446cfb
cmp eax, 0x54158420
jle 0x421116
mov ax, word [0x4b44a8]
movsx ecx, ax
add ecx, 0xf17c69d3
mov edx, dword [0x49de54]
imul edx, ecx
mov dword [0x49de54], edx
jmp 0x42111b
mov ax, word [0x4b209a]
mov cx, ax
xor ecx, 0x9af5
mov ax, cx
mov word [0x4b209a], ax
mov ecx, dword [esp + 0x38]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
call fcn.004073a0
mov ecx, dword [0x4a7860]
add ecx, 0xbe0d1820
mov dword [0x4a7860], ecx
mov ecx, esp
lea edx, [esp + 0x45]
mov dword [ecx], edx
mov dword [ecx + 4], 4
call fcn.0041de80
mov ax, word [0x4b531c]
mov cx, ax
add ecx, 0xddef7faf
mov ax, cx
mov word [0x4b531c], ax
mov ecx, esp
lea edx, [esp + 0x41]
mov dword [ecx], edx
mov dword [ecx + 4], 4
call fcn.0041de80
mov ecx, dword [0x4a1bb8]
mov edx, ecx
dec edx
mov dword [0x4a1bb8], edx
mov dword [0x4a177c], ecx
mov ecx, esp
lea edx, [esp + 0x3d]
mov dword [ecx], edx
mov dword [ecx + 4], 4
call fcn.0041de80
mov ecx, dword [0x4a24b0]
add ecx, 0x66fbd645
mov dword [0x4a24b0], ecx
add esp, 0x74
pop esi
pop edi
pop ebx
ret