Function at 0x447e80
Capabilities:
Encode data using base64

Disassembly:
push ebx
push edi
push esi
sub esp, 0x80
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x98]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov edi, 0xffffcdf6
mov dword [esp + 0x7c], eax
and cl, 1
mov byte [esp + 0x7b], cl
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
mov eax, dword [0x49b6b8]
xor eax, 0x4cfeeeff
mov dword [0x49b6b8], eax
mov eax, dword [0x49c90c]
xor eax, 0x8de4f07
mov dword [0x49c90c], eax
mov eax, dword [0x4a1174]
and eax, 0xa837fc0c
mov dword [0x4a1174], eax
mov bx, word [0x4a342a]
mov ax, bx
imul eax, eax, 0xf887f446
mov bx, ax
mov word [0x4a342a], bx
mov dword [esp + 0x60], 0
mov eax, dword [0x4a0310]
mov bx, word [0x4a2964]
movsx edx, bx
xor edx, 0xffffffff
sub eax, edx
sub eax, 0xf9ae32fb
cmp edi, eax
jne 0x447f59
mov eax, dword [0x499568]
mov ecx, eax
dec ecx
mov dword [0x499568], ecx
xor eax, 0x3dc23008
or eax, 0xc224c1f3
mov ecx, dword [0x49fca4]
imul ecx, eax
mov dword [0x49fca4], ecx
jmp 0x447f74
mov eax, dword [0x4a0104]
shl eax, 9
mov ecx, 0xa3eca6a5
sub ecx, eax
mov eax, dword [0x4a0c2c]
xor eax, ecx
mov dword [0x4a0c2c], eax
mov dword [esp + 0x5c], 0
mov eax, dword [0x49fa1c]
mov ecx, eax
dec ecx
mov dword [0x49fa1c], ecx
add eax, 0xacba2010
mov ecx, dword [0x49c4a8]
sub ecx, eax
mov dword [0x49c4a8], ecx
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0x6b0c
call fcn.0042bee0
mov dword [esp + 0x44], eax
mov dx, word [0x4a3e50]
movsx eax, dx
shl eax, 6
and eax, 0xa35aecaf
xor eax, 0x5959b267
cmp eax, 0x1ddaa153
jl 0x447fe6
mov eax, dword [0x49e010]
and eax, 0xffb8bbb9
mov dword [0x49e010], eax
mov eax, 0x31299e4f
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x8667
mov dword [esp + 0x40], eax
call fcn.0042bee0
mov dword [esp + 0x6c], eax
mov eax, dword [0x499494]
imul eax, eax, 0x6fe7649e
mov ecx, dword [0x49f584]
or ecx, eax
mov dword [0x49f584], ecx
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.00454af0
mov ecx, dword [0x49eb48]
and ecx, 0x6e213fe
mov edx, dword [0x49c870]
add edx, ecx
mov dword [0x49c870], edx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x3b35
mov dword [esp + 0x3c], eax
call fcn.0042bee0
mov dword [esp + 0x68], eax
mov eax, dword [0x49bbd4]
shl eax, 2
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jg 0x448092
mov eax, dword [0x49e3f4]
add eax, 0xf140c99f
mov dword [0x49e3f4], eax
jmp 0x4480e6
mov eax, 0x29060a94
mov ecx, dword [0x49b3ac]
inc ecx
mov dword [0x49b3ac], ecx
mov edx, dword [0x49fc54]
mov esi, edx
inc esi
mov dword [0x49fc54], esi
imul ecx, edx
add ecx, 0xd9a9e09
cmp eax, ecx
jne 0x4480e1
mov ax, word [0x4a2426]
movsx ecx, ax
xor ecx, 0x108107c1
mov edx, dword [0x49b3e4]
add edx, ecx
mov dword [0x49b3e4], edx
jmp 0x4480e6
mov eax, 0xefff6fef
mov ecx, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x38], eax
call fcn.00443120
mov eax, dword [0x49c238]
dec eax
mov dword [0x49c238], eax
or eax, 0x286921bf
mov ecx, dword [0x49d384]
and ecx, eax
mov dword [0x49d384], ecx
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00454af0
mov ecx, dword [0x49f744]
mov edx, ecx
dec edx
mov dword [0x49f744], edx
imul ecx, ecx, 0x15638a30
or ecx, 0x5b4ab640
mov edx, dword [0x498af4]
and edx, ecx
mov dword [0x498af4], edx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0xb50
mov dword [esp + 0x34], eax
call fcn.0042bee0
mov dword [esp + 0x64], eax
mov si, word [0x4a4774]
movsx eax, si
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jle 0x4481a8
mov eax, dword [0x49a2b0]
or eax, 0x7efd5edf
mov ecx, dword [0x49b058]
add ecx, eax
mov dword [0x49b058], ecx
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00443120
mov eax, dword [0x498d40]
inc eax
mov dword [0x498d40], eax
or eax, 0x1d92ce78
cmp eax, 0xdb09ee0c
jl 0x4481eb
mov eax, dword [0x49a8dc]
mov ecx, dword [0x4a04a0]
imul ecx, eax
mov dword [0x4a04a0], ecx
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.00454af0
mov dx, word [0x4a5284]
mov cx, dx
add ecx, 0xc60b5323
mov dx, cx
mov word [0x4a5284], dx
mov ecx, dword [esp + 0x64]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 4
mov dword [esp + 0x30], eax
call fcn.00443120
mov eax, dword [0x49e078]
mov ecx, eax
inc ecx
mov dword [0x49e078], ecx
mov ecx, dword [0x49bc4c]
or ecx, eax
mov dword [0x49bc4c], ecx
cmp dword [esp + 0x74], 0
je 0x4487a6
mov ax, word [0x4a1d8a]
movsx ecx, ax
imul ecx, ecx, 0x3b63ab38
or ecx, 0x8c510fc1
mov edx, dword [0x49a37c]
sub edx, ecx
mov dword [0x49a37c], edx
mov ecx, dword [esp + 0x74]
dec ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [0x49a9c0]
inc ecx
mov dword [0x49a9c0], ecx
mov edx, dword [0x49c6a0]
imul edx, edx, 0x33816fe3
xor ecx, edx
mov ax, word [0x4a51ec]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x4a51ec], ax
mov ecx, dword [esp + 0x70]
mov bl, byte [ecx]
mov ecx, dword [esp + 0x60]
mov byte [esp + ecx + 0x59], bl
mov ecx, dword [0x4a0f80]
xor ecx, 0x1f7a4f58
mov edx, dword [0x4a0a44]
sub edx, 0xa202ca6f
add edx, 0xa15dd9e0
cmp ecx, edx
jg 0x4482f6
mov eax, dword [0x49f8dc]
or eax, 0xe75341ba
mov dword [0x49f8dc], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x49e99c]
imul eax, eax, 0x1b453acd
mov cx, word [0x4a12f0]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a12f0], cx
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [0x49c588]
and eax, 0x866a5691
mov edx, dword [0x499170]
xor edx, eax
mov dword [0x499170], edx
cmp dword [esp + 0x60], 3
jne 0x44877c
mov eax, dword [0x49ab6c]
mov ecx, eax
inc ecx
mov dword [0x49ab6c], ecx
mov ecx, dword [0x49e208]
xor ecx, 0xffffffff
cmp eax, ecx
jg 0x44837a
mov eax, dword [0x4a0cbc]
and eax, 0x14d513e8
mov dword [0x4a0cbc], eax
movzx eax, byte [esp + 0x59]
shr eax, 2
mov cl, al
mov byte [esp + 0x55], cl
mov eax, dword [0x49a610]
dec eax
mov dword [0x49a610], eax
and eax, 0x77b65f0a
mov edx, dword [0x49d17c]
imul edx, eax
mov dword [0x49d17c], edx
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x56], cl
mov eax, dword [0x4a0f5c]
xor eax, 0xcd131cd2
mov dword [0x4a0f5c], eax
movzx eax, byte [esp + 0x5a]
shr eax, 4
movzx edx, byte [esp + 0x56]
add edx, eax
mov cl, dl
mov byte [esp + 0x56], cl
mov eax, dword [0x49b618]
not eax
add eax, 0xfb5e24d8
mov edx, dword [0x4a0d60]
and edx, eax
mov dword [0x4a0d60], edx
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x57], cl
mov eax, dword [0x49e000]
add eax, 0x17a0dd82
or eax, 0xf00600a
mov edx, dword [0x49f7bc]
imul edx, eax
mov dword [0x49f7bc], edx
movzx eax, byte [esp + 0x5b]
shr eax, 6
movzx edx, byte [esp + 0x57]
add edx, eax
mov cl, dl
mov byte [esp + 0x57], cl
mov eax, dword [0x498ab4]
shl eax, 7
cmp eax, 0x2effcf77
jg 0x44845c
mov eax, dword [0x4a0e4c]
add eax, 0xe45300d
mov dword [0x4a0e4c], eax
mov eax, 0x4610e9a4
movzx ecx, byte [esp + 0x5b]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x58], dl
mov si, word [0x4a3422]
mov cx, si
and ecx, 0x988b
mov si, cx
mov word [0x4a3422], si
mov dword [esp + 0x60], 0
mov ecx, dword [0x498b70]
inc ecx
mov dword [0x498b70], ecx
imul ecx, ecx, 0x201d4f6b
mov edi, dword [0x49c764]
mov ebx, edi
dec ebx
mov dword [0x49c764], ebx
or ecx, edi
cmp eax, ecx
jg 0x4484f7
mov ax, word [0x4a3d92]
movsx ecx, ax
cmp ecx, 0x3cfbf20f
jge 0x4484f2
mov ax, word [0x4a33b4]
movsx ecx, ax
sar ecx, 0xa
or ecx, 0x7ff7b3d1
mov edx, dword [0x499a2c]
and edx, ecx
mov dword [0x499a2c], edx
jmp 0x4484f7
jmp 0x4484fc
cmp dword [esp + 0x60], 4
je 0x44875d
mov ax, word [0x4a2702]
movsx ecx, ax
sar ecx, 5
mov ax, word [0x4a584e]
movsx edx, ax
shl edx, 5
and ecx, edx
mov edx, dword [0x499810]
and ecx, edx
and ecx, 0xcb60e080
mov dword [0x499810], ecx
test byte [esp + 0x7b], 1
je 0x448679
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x448679
mov eax, dword [0x4a03c8]
or eax, 0xbfcaaeac
mov ecx, dword [0x49cc68]
add ecx, eax
mov dword [0x49cc68], ecx
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x4485cd
mov eax, dword [0x49b3a8]
and eax, 0xbd86f521
mov dword [0x49b3a8], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.00420da0
sub esp, 4
mov ecx, dword [0x49b3e0]
not ecx
imul ecx, ecx, 0xad3b7767
mov edx, dword [0x49e96c]
lea ecx, [ecx + edx*8]
mov edx, dword [0x49e66c]
xor edx, ecx
mov dword [0x49e66c], edx
mov dword [esp + 0x2c], eax
jmp 0x448665
mov eax, 0x7dbebeff
mov ecx, dword [0x49fb40]
xor ecx, 0xa2fb5d97
mov dx, word [0x4a1e6e]
mov si, dx
dec esi
mov dx, si
mov word [0x4a1e6e], dx
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jg 0x44863b
mov eax, dword [0x49ccb0]
mov ecx, eax
inc ecx
mov dword [0x49ccb0], ecx
mov ecx, dword [0x49d0b0]
shl ecx, 2
sub eax, ecx
mov ecx, dword [0x499a08]
cmp eax, ecx
jg 0x448636
mov eax, dword [0x498b10]
or eax, 0x4afa30fa
mov dword [0x498b10], eax
jmp 0x44863b
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00420da0
sub esp, 4
mov ecx, dword [0x49c440]
add ecx, 0x3a6faa70
mov dword [0x49c440], ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x498f48]
add eax, 0xd81536ad
mov dword [0x498f48], eax
jmp 0x4486f0
mov eax, 0x2e44c
mov ecx, dword [0x499f78]
and ecx, 0x31399e8b
cmp eax, ecx
jne 0x4486a1
mov dword [0x49b31c], 0x41a04a16
jmp 0x4486b9
mov eax, dword [0x49b0d8]
or eax, 0xcd3765b
mov ecx, dword [0x49efe8]
xor ecx, eax
mov dword [0x49efe8], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
mov edx, dword [esp + 0x44]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00433070
sub esp, 4
mov ecx, dword [0x499d3c]
and ecx, 0xf7dff7bf
mov dword [0x499d3c], ecx
mov dword [esp + 0x24], eax
mov eax, 0x827ed48a
mov ecx, dword [0x49b97c]
shl ecx, 0xa
mov edx, dword [0x49b2ec]
mov esi, edx
inc esi
mov dword [0x49b2ec], esi
add ecx, edx
xor ecx, 0xa0f941b6
cmp eax, ecx
jne 0x448731
mov eax, dword [0x4994f8]
add eax, 0x730f07e9
mov cx, ax
mov word [0x4a2e9c], cx
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov cx, word [0x4a4efa]
movsx eax, cx
or eax, 0xb8eabaf7
mov edx, dword [0x49a134]
imul edx, eax
mov dword [0x49a134], edx
jmp 0x4484fc
mov dword [0x49bc4c], 0x49430fdb
mov dword [esp + 0x60], 0
mov eax, dword [0x49d768]
sar eax, 6
mov dword [0x49bfd0], eax
mov eax, dword [0x49b18c]
mov ecx, eax
dec ecx
mov dword [0x49b18c], ecx
mov dx, word [0x4a4c0a]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4a4c0a], dx
jmp 0x44824d
mov eax, dword [0x4a0a2c]
mov ecx, dword [0x4a0d04]
and eax, ecx
mov ecx, dword [0x49f598]
add ecx, eax
mov dword [0x49f598], ecx
cmp dword [esp + 0x60], 0
je 0x448de4
mov eax, dword [0x49d734]
not eax
mov cx, word [0x4a275c]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4a275c], cx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov cx, word [0x4a1ac0]
movsx eax, cx
mov edx, dword [0x4992c8]
imul edx, eax
mov dword [0x4992c8], edx
cmp dword [esp + 0x5c], 3
jge 0x448880
mov eax, 0xbfa8dd1
mov ecx, dword [0x499ea4]
not ecx
mov edx, dword [0x49b188]
not edx
add ecx, edx
mov edx, dword [0x49ee38]
and ecx, edx
cmp eax, ecx
jl 0x44884b
mov eax, dword [0x49cd24]
add eax, 0x453dbd83
mov dword [0x49cd24], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x59], 0
mov eax, dword [0x49c584]
add eax, 0x2004403
mov dword [0x49c584], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x499198]
add eax, 0xf45f4aa8
mov dword [0x499198], eax
jmp 0x44880a
mov eax, dword [0x49f60c]
mov ecx, eax
inc ecx
mov dword [0x49f60c], ecx
add eax, 0xe73d085e
mov ecx, dword [0x49f8b4]
imul ecx, eax
mov dword [0x49f8b4], ecx
movzx eax, byte [esp + 0x59]
shr eax, 2
mov dl, al
mov byte [esp + 0x55], dl
mov si, word [0x4a3ff2]
mov ax, si
inc eax
mov di, ax
mov word [0x4a3ff2], di
movsx eax, si
xor eax, 0x137988b
mov ecx, dword [0x49f3c8]
and ecx, eax
mov dword [0x49f3c8], ecx
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov dl, al
mov byte [esp + 0x56], dl
mov si, word [0x4a3218]
mov ax, si
add eax, 0xfac728f1
mov si, ax
mov word [0x4a3218], si
movzx eax, byte [esp + 0x5a]
shr eax, 4
movzx ecx, byte [esp + 0x56]
add ecx, eax
mov dl, cl
mov byte [esp + 0x56], dl
mov si, word [0x4a4da6]
movsx eax, si
sar eax, 3
xor eax, 0x7fb5bdb0
mov ecx, dword [0x49ceb8]
add ecx, eax
mov dword [0x49ceb8], ecx
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x57], dl
mov eax, dword [0x4a02d4]
xor eax, 0x5f50f4e6
mov dword [0x4a02d4], eax
movzx eax, byte [esp + 0x5b]
shr eax, 6
movzx ecx, byte [esp + 0x57]
add ecx, eax
mov dl, cl
mov byte [esp + 0x57], dl
mov si, word [0x4a5374]
mov ax, si
imul eax, eax, 0x8d5fc484
mov si, ax
mov word [0x4a5374], si
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x58], dl
mov eax, dword [0x49da78]
add eax, 0x1fe7a6b6
xor eax, 0x8e54753
mov ecx, dword [0x49cbac]
sub ecx, eax
mov dword [0x49cbac], ecx
mov dword [esp + 0x5c], 0
mov eax, dword [0x49aeac]
mov ecx, dword [0x49b8e4]
or ecx, eax
mov dword [0x49b8e4], ecx
mov eax, dword [0x498c14]
or eax, 0xc69232c5
mov dword [0x498c14], eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
jle 0x448a0a
mov eax, dword [0x4a0ac4]
imul eax, eax, 0xbe5187dc
mov ecx, dword [0x49cd34]
or ecx, eax
mov dword [0x49cd34], ecx
jmp 0x448cc9
mov eax, 0xa4a32f2c
mov cx, word [0x4a4aa2]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a4aa2], cx
movsx edx, cx
xor edx, 0x2f0e49b3
cmp eax, edx
jne 0x448a6a
mov eax, 0x7cfdda99
mov ecx, dword [0x49e2e8]
cmp eax, ecx
jne 0x448a65
mov ax, word [0x4a3938]
movsx ecx, ax
mov edx, dword [0x499dc8]
xor ecx, edx
xor ecx, 0x905994e8
mov dword [0x499dc8], ecx
jmp 0x448a6a
test byte [esp + 0x7b], 1
je 0x448bfe
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x448bfe
mov eax, dword [0x49bd18]
mov dword [0x4a0b5c], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x448b1e
mov eax, 0x1982f8b2
mov ecx, dword [0x49af3c]
add ecx, 0xa1f71cf2
xor ecx, 0x3033
mov dx, word [0x4a50c2]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4a50c2], dx
mov ecx, dword [esp + 0x7c]
mov esi, esp
lea edi, [esp + 0x51]
mov dword [esi], edi
mov dword [esp + 0x20], eax
call fcn.00420da0
sub esp, 4
mov ecx, dword [0x499704]
imul ecx, ecx, 0x159518c4
add ecx, 0xc95552c3
mov esi, dword [esp + 0x20]
cmp esi, ecx
mov dword [esp + 0x1c], eax
jg 0x448b19
mov eax, dword [0x49dcbc]
or eax, 0xfbcbeff4
mov dword [0x49dcbc], eax
jmp 0x448b8a
mov eax, dword [0x49ae80]
shl eax, 4
mov cx, word [0x4a2e4c]
movsx edx, cx
sub eax, edx
cmp eax, 0xfffffffe
jne 0x448b60
mov ax, word [0x4a28ee]
movsx ecx, ax
not ecx
and ecx, 0x12922901
or ecx, 0xc161d4fe
mov edx, dword [0x4a025c]
xor edx, ecx
mov dword [0x4a025c], edx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00420da0
sub esp, 4
mov ecx, dword [0x49ed3c]
and ecx, 0xc57431f1
mov dword [0x49ed3c], ecx
mov dword [esp + 0x18], eax
mov ax, word [0x4a1b5a]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a1b5a], dx
movsx ecx, ax
add ecx, 0x37ab66c5
or ecx, 0x2a1284f4
cmp ecx, 0xb55fc354
je 0x448bf9
mov eax, 0x2cbcbff0
mov ecx, dword [0x49a26c]
mov edx, dword [0x4a0224]
mov esi, dword [0x4a0cc4]
dec esi
mov dword [0x4a0cc4], esi
imul edx, esi
sub ecx, edx
cmp eax, ecx
jge 0x448bf4
mov eax, dword [0x49d288]
imul eax, eax, 0x10013240
mov dword [0x49d288], eax
jmp 0x448bf9
jmp 0x448c47
mov eax, dword [0x49f11c]
mov dword [0x49bdec], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
mov edx, dword [esp + 0x44]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00433070
sub esp, 4
mov si, word [0x4a3fb0]
mov cx, si
or ecx, 0x1ad8
mov si, cx
mov word [0x4a3fb0], si
mov dword [esp + 0x14], eax
mov ax, word [0x4a4ccc]
movsx ecx, ax
add ecx, 0x29c4b980
mov edx, dword [0x499238]
and edx, ecx
mov dword [0x499238], edx
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x49c144]
dec ecx
mov dword [0x49c144], ecx
cmp ecx, 0xb78bd875
je 0x448ca6
mov eax, dword [0x49dbb4]
mov cx, word [0x4a1352]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a1352], cx
jmp 0x448cc4
mov eax, dword [0x49ea14]
not eax
mov cx, word [0x4a2d18]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a2d18], cx
jmp 0x4489cf
jmp 0x448cce
cmp dword [esp + 0x60], 3
jge 0x448dce
mov eax, dword [0x4a0af4]
and eax, 0xff948d87
mov dword [0x4a0af4], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov cx, word [0x4a1f6a]
mov ax, cx
or eax, 0x8e4d
mov cx, ax
mov word [0x4a1f6a], cx
test byte [esp + 0x7b], 1
je 0x448d61
mov eax, 0x3680512f
mov ecx, dword [0x49ecd4]
shl ecx, 3
cmp eax, ecx
jne 0x448d3b
mov eax, dword [0x4997c4]
imul eax, eax, 0x918f022b
mov dword [0x4997c4], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.00420da0
sub esp, 4
mov word [0x4a330c], 0x55bb
mov dword [esp + 0x10], eax
jmp 0x448dba
mov ax, word [0x4a537e]
movsx ecx, ax
shl ecx, 3
or ecx, 0x1806e1e2
and ecx, 0xbcdef7fa
mov edx, dword [0x49e1d4]
imul edx, ecx
mov dword [0x49e1d4], edx
mov ecx, dword [esp + 0x7c]
mov edx, esp
mov dword [edx], 0x3d
call fcn.00433070
sub esp, 4
mov si, word [0x4a3438]
mov cx, si
and ecx, 0xf1be
mov si, cx
mov word [0x4a3438], si
mov dword [esp + 0xc], eax
mov eax, dword [0x49d770]
add eax, 0x9c73ced1
mov dword [0x49d770], eax
jmp 0x448cce
mov eax, dword [0x49fd7c]
shl eax, 8
mov ecx, dword [0x49ecb8]
add ecx, eax
mov dword [0x49ecb8], ecx
mov eax, 0xb954e87
mov ecx, dword [0x49ce5c]
mov edx, ecx
inc edx
mov dword [0x49ce5c], edx
mov edx, 0xedf6addc
sub edx, ecx
and edx, 0x68c88aa9
mov ecx, dword [0x49bd9c]
add ecx, edx
mov dword [0x49bd9c], ecx
mov ecx, dword [esp + 0x44]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 8], eax
call fcn.00443120
mov eax, dword [0x49ccc8]
mov ecx, dword [esp + 8]
cmp ecx, eax
jne 0x448e4b
mov eax, dword [0x49e784]
and eax, 0xefebd2c1
mov dword [0x49e784], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00442fe0
mov dx, word [0x4a311c]
mov ax, dx
add eax, 0x8416622e
mov dx, ax
mov word [0x4a311c], dx
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00442fe0
mov eax, dword [0x49c994]
or eax, 0xb965b5c
mov dword [0x49c994], eax
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00442fe0
mov word [0x4a210e], 0xc7ac
add esp, 0x80
pop esi
pop edi
pop ebx
ret