Function at 0x41d4b0
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 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 [0x49aa14]
add eax, 0xe2f1789d
mov dword [0x49aa14], eax
mov eax, dword [0x4aa824]
xor eax, 0xbd2d87e
mov dword [0x4aa824], eax
mov di, word [0x4acc90]
mov ax, di
dec eax
mov di, ax
mov word [0x4acc90], di
movsx eax, di
imul eax, eax, 0x543ac1df
add eax, 0xec8e0792
mov edx, dword [0x4a9464]
and edx, eax
mov dword [0x4a9464], edx
mov eax, dword [0x4a0150]
mov edx, eax
inc edx
mov dword [0x4a0150], edx
add eax, 0x4f798108
mov di, word [0x4b08b2]
mov dx, di
inc edx
mov bx, dx
mov word [0x4b08b2], bx
movsx edx, di
or eax, edx
mov edx, dword [0x49c6c0]
sub edx, eax
mov dword [0x49c6c0], edx
mov dword [esp + 0x60], 0
mov eax, dword [0x49c6e0]
imul eax, eax, 0xe9b551ca
mov dword [0x49c6e0], eax
mov dword [esp + 0x5c], 0
mov eax, dword [0x4a19cc]
xor eax, 0x66c9b03b
mov dword [0x4a19cc], eax
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0x815a
call fcn.00437eb0
mov dword [esp + 0x44], eax
mov word [0x4abe8e], 0x7c3b
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x7dae
call fcn.00437eb0
mov dword [esp + 0x6c], eax
mov di, word [0x4abf76]
mov ax, di
xor eax, 0xe99c
mov di, ax
mov word [0x4abf76], di
mov eax, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x51]
mov dword [edx], eax
call fcn.00455280
mov edx, dword [0x49def8]
or edx, 0xf57282dd
mov dword [0x49def8], edx
mov edx, esp
mov dword [edx + 4], 4
mov dword [edx], 0x29c4
mov dword [esp + 0x40], eax
call fcn.00437eb0
mov dword [esp + 0x68], eax
mov eax, dword [0x4a6278]
dec eax
mov dword [0x4a6278], eax
imul eax, eax, 0xd18ecba0
and eax, 0xbe14c40
mov edx, dword [0x4a5c50]
add edx, 0x3087426b
cmp eax, edx
jge 0x41d6a8
mov eax, dword [0x49c36c]
mov ecx, dword [0x49c0dc]
or eax, ecx
mov ecx, dword [0x4a5848]
or eax, ecx
mov ecx, dword [0x49a5fc]
xor ecx, 0xffffffff
cmp eax, ecx
je 0x41d6a3
mov eax, dword [0x49eac8]
inc eax
mov dword [0x49eac8], eax
or eax, 0xd21e1da9
mov ecx, dword [0x4a50d0]
sub ecx, eax
mov dword [0x4a50d0], ecx
jmp 0x41d6c2
mov eax, dword [0x49f4b8]
not eax
add eax, 0x22af99ae
mov ecx, dword [0x49b878]
and ecx, eax
mov dword [0x49b878], ecx
mov eax, 0xc22b924
mov ecx, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x3c], eax
call fcn.0044b770
mov si, word [0x4b41d2]
mov ax, si
add eax, 0xebffd9f5
mov si, ax
mov word [0x4b41d2], si
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00455280
mov ecx, dword [0x497e74]
or ecx, 0xef67e067
mov dword [0x497e74], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x7996
mov dword [esp + 0x38], eax
call fcn.00437eb0
mov dword [esp + 0x64], eax
mov eax, dword [0x49ea24]
inc eax
mov dword [0x49ea24], eax
or eax, 0x369b6bd9
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jge 0x41d77a
mov eax, dword [0x49be80]
shr eax, 8
imul eax, eax, 0xc27f828b
mov cx, word [0x4adc7a]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4adc7a], cx
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0044b770
mov eax, dword [0x49d724]
add eax, 0x21262e1b
mov dword [0x49d724], eax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.00455280
mov ecx, dword [0x49cd54]
or ecx, 0x1d73f9ba
cmp ecx, 0x58a9f20e
mov dword [esp + 0x34], eax
je 0x41d807
mov eax, dword [0x4a0384]
xor eax, 0x733b909f
cmp eax, 0x220081e0
je 0x41d802
mov eax, 0xfbc92dcd
mov ecx, dword [0x49c0ec]
xor ecx, 0xffffffff
cmp eax, ecx
jge 0x41d7fd
jmp 0x41d7fd
jmp 0x41d802
jmp 0x41d81f
mov ax, word [0x4ae8ea]
mov cx, ax
or ecx, 0xa4ca
mov ax, cx
mov word [0x4ae8ea], ax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0044b770
mov eax, dword [0x4a12d4]
imul eax, eax, 0xc1808080
mov dword [0x4a12d4], eax
cmp dword [esp + 0x74], 0
je 0x41ddac
mov eax, 0x76694572
mov cx, word [0x4afa4a]
mov dx, cx
or edx, 0xf74b
mov cx, dx
mov word [0x4afa4a], cx
mov edx, dword [esp + 0x74]
dec edx
mov dword [esp + 0x74], edx
mov edx, dword [0x49f030]
mov esi, dword [0x4a3d2c]
and esi, edx
mov dword [0x4a3d2c], esi
mov edx, dword [esp + 0x70]
mov bl, byte [edx]
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x59], bl
mov edx, dword [0x4a3e24]
cmp eax, edx
je 0x41d8d1
mov eax, dword [0x498bec]
inc eax
mov dword [0x498bec], eax
and eax, 0x979
xor eax, 0xe99a
mov cx, word [0x4ab620]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4ab620], cx
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov cx, word [0x4b1afa]
movsx eax, cx
not eax
mov edx, dword [0x4a7fc4]
imul eax, edx
mov edx, dword [0x4a0524]
xor edx, eax
mov dword [0x4a0524], edx
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov cx, word [0x4b2cea]
mov ax, cx
and eax, 0x83ef
mov cx, ax
mov word [0x4b2cea], cx
cmp dword [esp + 0x60], 3
jne 0x41dd9d
mov eax, 0x836777c8
mov ecx, dword [0x4a1b4c]
sar ecx, 0xa
mov edx, dword [0x4997b4]
dec edx
mov dword [0x4997b4], edx
imul ecx, edx
cmp eax, ecx
jge 0x41d95a
mov dword [0x497ee0], 0xa05c28c9
movzx eax, byte [esp + 0x59]
shr eax, 2
mov cl, al
mov byte [esp + 0x55], cl
mov eax, dword [0x49cb54]
add eax, 0xc2af30e5
mov dword [0x49cb54], eax
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x56], cl
mov eax, dword [0x49b608]
add eax, 0xfe585e13
mov dword [0x49b608], 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 [0x49d218]
add eax, 0xe99f86a6
mov dword [0x49d218], eax
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x57], cl
mov si, word [0x4b0b34]
movsx eax, si
cmp eax, 0x6a3de431
jg 0x41da21
mov eax, dword [0x4a7dd4]
mov ecx, eax
dec ecx
mov dword [0x4a7dd4], ecx
xor eax, 0x43998ecb
cmp eax, 0xfdeb11a3
jle 0x41da1c
mov eax, dword [0x49dfa0]
xor eax, 0xffffffff
cmp eax, 0xcc8aa9b8
jge 0x41da17
jmp 0x41da17
jmp 0x41da1c
jmp 0x41da21
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 [0x4b0b42]
movsx eax, si
sar eax, 7
cmp eax, 0x8d6429cd
jle 0x41da6c
mov eax, dword [0x4a726c]
inc eax
mov dword [0x4a726c], eax
and eax, 0xcd96312d
mov ecx, dword [0x49c8a8]
xor ecx, eax
mov dword [0x49c8a8], ecx
mov eax, 0x46937447
movzx ecx, byte [esp + 0x5b]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x58], dl
mov ecx, dword [0x49f118]
mov esi, ecx
inc esi
mov dword [0x49f118], esi
xor ecx, 0x43a6efe3
cmp eax, ecx
jg 0x41dabb
mov eax, dword [0x49ed6c]
sar eax, 8
mov ecx, dword [0x498dd8]
and eax, ecx
and eax, 0x14014250
mov dword [0x498dd8], eax
jmp 0x41dae4
mov ax, word [0x4ac1b8]
mov cx, ax
xor ecx, 0x804
or ecx, 0xa7f3
mov ax, word [0x4b2cf4]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4b2cf4], ax
mov dword [esp + 0x60], 0
mov eax, dword [0x499534]
and eax, 0x983
mov cx, word [0x4b4198]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4b4198], cx
cmp dword [esp + 0x60], 4
je 0x41dd77
mov eax, 0xb6ff7dfa
mov cx, word [0x4b18b0]
movsx edx, cx
shl edx, 9
xor edx, 0xece85ea5
cmp eax, edx
jge 0x41db56
mov ax, word [0x4aca32]
movsx ecx, ax
or ecx, 0x48c050e0
mov edx, dword [0x4a0c70]
imul edx, ecx
mov dword [0x4a0c70], edx
test byte [esp + 0x7b], 1
je 0x41dcb2
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x41dcb2
mov eax, dword [0x49c4e0]
mov ecx, eax
dec ecx
mov dword [0x49c4e0], ecx
or eax, 0x9b51eee0
mov ecx, dword [0x4aa1a0]
add ecx, eax
mov dword [0x4aa1a0], ecx
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x41dc4b
mov eax, 0x24108496
mov ecx, dword [0x49a614]
mov edx, ecx
inc edx
mov dword [0x49a614], edx
cmp eax, ecx
jg 0x41dbd1
mov dword [0x4a2924], 0x6ae57e0c
jmp 0x41dc1c
mov ax, word [0x4acfb8]
movsx ecx, ax
xor ecx, 0xffffffff
sub ecx, 0x1435edd
or ecx, 0x977ca442
cmp ecx, 0xe3ea8399
jl 0x41dc17
mov eax, 0x2ab00bc8
mov ecx, dword [0x49c300]
cmp eax, ecx
jl 0x41dc0d
jmp 0x41dc12
jmp 0x41dc12
jmp 0x41dc17
jmp 0x41dc1c
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.004453a0
sub esp, 4
mov ecx, dword [0x49c5a4]
add ecx, 0xe99e52d1
mov dword [0x49c5a4], ecx
mov dword [esp + 0x30], eax
jmp 0x41dca4
mov eax, dword [0x49f2a8]
shl eax, 7
mov cx, word [0x4aeefa]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4aeefa], cx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.004453a0
sub esp, 4
mov ecx, dword [0x49f104]
mov edx, ecx
dec edx
mov dword [0x49f104], edx
xor ecx, 0xbc30627b
mov edx, dword [0x497cfc]
and edx, ecx
mov dword [0x497cfc], edx
mov dword [esp + 0x2c], eax
mov word [0x4b190c], 0x552b
jmp 0x41dd3d
mov eax, 0x2ede257e
mov ecx, dword [0x497770]
mov edx, ecx
dec edx
mov dword [0x497770], edx
mov edx, dword [0x49ab4c]
imul edx, ecx
mov dword [0x49ab4c], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x55]
mov esi, dword [esp + 0x44]
movsx edx, byte [esi + edx]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x28], eax
call fcn.0043ff40
sub esp, 4
mov di, word [0x4add3e]
mov cx, di
dec ecx
mov bx, cx
mov word [0x4add3e], bx
movsx ecx, di
xor ecx, 0xca2f801c
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
jl 0x41dd38
mov eax, dword [0x4a5330]
imul eax, eax, 0x3f81e7b
mov dword [0x4a5330], eax
jmp 0x41dd3d
mov eax, dword [0x4a9210]
mov ecx, eax
inc ecx
mov dword [0x4a9210], ecx
mov dword [0x4a2110], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov dx, word [0x4b2bf8]
mov ax, dx
xor eax, 0x9d9a
mov dx, ax
mov word [0x4b2bf8], dx
jmp 0x41db0d
mov eax, dword [0x4a8b40]
xor eax, 0x79c1e58b
mov dword [0x4a8b40], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x4a7330]
add eax, 0x2391b918
mov dword [0x4a7330], eax
mov dword [0x49d904], 0x1c408090
jmp 0x41d843
mov eax, dword [0x4a288c]
mov cx, word [0x4b25b6]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b25b6], cx
cmp dword [esp + 0x60], 0
je 0x41e436
mov ax, word [0x4b2146]
mov cx, ax
and ecx, 0xc0ba
mov ax, cx
mov word [0x4b2146], ax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x4a4fd8]
and ecx, 0x7b4f3eed
mov dword [0x4a4fd8], ecx
cmp dword [esp + 0x5c], 3
jge 0x41de7a
mov eax, dword [0x4a92b8]
add eax, 0x5c45dd1
mov dword [0x4a92b8], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x59], 0
mov cx, word [0x4b08f4]
mov ax, cx
add eax, 0x2ce98d48
mov cx, ax
mov word [0x4b08f4], cx
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov cx, word [0x4b2ed4]
mov ax, cx
dec eax
mov cx, ax
mov word [0x4b2ed4], cx
movsx eax, cx
cmp eax, 0xed5f4a91
jl 0x41de75
mov word [0x4aae60], 0xd2ef
jmp 0x41de04
mov eax, dword [0x4a6a58]
mov ecx, eax
dec ecx
mov dword [0x4a6a58], ecx
add eax, 0x7b751731
xor eax, 0x8301bf18
mov ecx, dword [0x49a60c]
and ecx, eax
mov dword [0x49a60c], ecx
movzx eax, byte [esp + 0x59]
shr eax, 2
mov dl, al
mov byte [esp + 0x55], dl
mov si, word [0x4b2338]
mov ax, si
inc eax
mov si, ax
mov word [0x4b2338], si
movsx eax, si
or eax, 0xb50e200f
mov dword [0x49bb4c], eax
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov dl, al
mov byte [esp + 0x56], dl
mov eax, dword [0x497ed4]
add eax, 0xf87e7dce
mov dword [0x497ed4], eax
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 [0x4b25a2]
mov ax, si
add eax, 0x600f485b
mov si, ax
mov word [0x4b25a2], si
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x57], dl
mov eax, dword [0x4a1eb8]
mov ecx, eax
inc ecx
mov dword [0x4a1eb8], ecx
mov si, word [0x4b3692]
movsx ecx, si
and eax, ecx
mov si, word [0x4b34a0]
movsx ecx, si
cmp eax, ecx
jl 0x41dfba
mov eax, dword [0x4a51e4]
mov ecx, eax
inc ecx
mov dword [0x4a51e4], ecx
imul eax, eax, 0x64424ad3
cmp eax, 0xefdefdfd
je 0x41df97
mov eax, 0xbeda9200
mov ecx, dword [0x498098]
cmp eax, ecx
jl 0x41df92
jmp 0x41df92
jmp 0x41dfb5
mov eax, dword [0x49cc6c]
inc eax
mov dword [0x49cc6c], eax
and eax, 0x968661c9
mov ecx, dword [0x4a9054]
add ecx, eax
mov dword [0x4a9054], ecx
jmp 0x41dfcd
mov eax, dword [0x49aa90]
mov ecx, eax
inc ecx
mov dword [0x49aa90], ecx
mov dword [0x49a370], 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 eax, dword [0x4a03e8]
xor eax, 0x42674040
mov dword [0x4a03e8], eax
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x58], dl
mov si, word [0x4b3fd0]
mov ax, si
inc eax
mov di, ax
mov word [0x4b3fd0], di
movsx eax, si
add eax, 0x2f2f7d27
xor eax, 0xffca705a
mov dword [0x4a8708], eax
mov dword [esp + 0x5c], 0
mov si, word [0x4b359c]
mov ax, si
not eax
mov si, word [0x4aac1a]
mov cx, si
imul eax, ecx
mov ecx, 0x4fc6608
sub ecx, eax
mov si, word [0x4b36a6]
mov ax, si
add eax, ecx
mov si, ax
mov word [0x4b36a6], si
mov eax, dword [0x4a9b10]
or eax, 0x9bfa4d42
mov dword [0x4a9b10], eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
jle 0x41e099
mov eax, dword [0x4a20e4]
mov ecx, dword [0x49f55c]
sub ecx, eax
mov dword [0x49f55c], ecx
jmp 0x41e2f6
mov eax, 0xb3962d8d
mov ecx, dword [0x4a0378]
dec ecx
mov dword [0x4a0378], ecx
xor ecx, 0x39b5a247
cmp eax, ecx
jne 0x41e0c8
mov eax, dword [0x49b408]
xor eax, 0xf2e91eb9
mov dword [0x49b408], eax
test byte [esp + 0x7b], 1
je 0x41e1fb
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x41e1fb
mov eax, 0xbc5faca
mov ecx, dword [0x4aa428]
xor ecx, 0x20061ecb
cmp eax, ecx
je 0x41e10d
mov dword [0x49db74], 0x9df1444e
jmp 0x41e11c
mov eax, dword [0x4a99d0]
add eax, 0xca88702e
mov dword [0x4a99d0], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x41e18a
mov eax, 0xa8a9a439
mov ecx, dword [0x4a3be0]
not ecx
mov edx, dword [0x4a5260]
imul ecx, edx
cmp eax, ecx
jne 0x41e15b
mov eax, dword [0x4a0054]
xor eax, 0xc5d5a733
mov dword [0x4a0054], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.004453a0
sub esp, 4
mov ecx, dword [0x49995c]
add ecx, 0x526b17e6
mov dword [0x49995c], ecx
mov dword [esp + 0x20], eax
jmp 0x41e1d8
mov eax, dword [0x4986f0]
or eax, 0x53f48f40
mov dword [0x4a90b4], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.004453a0
sub esp, 4
mov si, word [0x4b38c6]
mov cx, si
mov edx, ecx
dec edx
mov si, dx
mov word [0x4b38c6], si
and ecx, 0xc7fa
mov si, cx
mov word [0x4adce0], si
mov dword [esp + 0x1c], eax
mov eax, dword [0x49c960]
imul eax, eax, 0xbb38c0d5
add eax, 0xfe9c801c
mov ecx, dword [0x49eebc]
or ecx, eax
mov dword [0x49eebc], ecx
jmp 0x41e25c
mov eax, dword [0x4a8804]
imul eax, eax, 0x32a3f3af
mov ecx, dword [0x4a6cdc]
or ecx, eax
mov dword [0x4a6cdc], ecx
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.0043ff40
sub esp, 4
mov ecx, dword [0x499ed0]
mov edx, ecx
dec edx
mov dword [0x499ed0], edx
imul ecx, ecx, 0x37784054
mov edx, dword [0x4a897c]
and edx, ecx
mov dword [0x4a897c], edx
mov dword [esp + 0x18], eax
mov eax, 0xf5fdd75f
mov ecx, dword [0x49b44c]
mov edx, dword [0x49b91c]
mov esi, edx
dec esi
mov dword [0x49b91c], esi
imul edx, edx, 0x4f6f1fc6
and ecx, edx
cmp eax, ecx
jg 0x41e2be
mov eax, 0xf8d17fa6
mov ecx, dword [0x4a9d04]
or ecx, 0x7999ed40
cmp eax, ecx
jge 0x41e2b9
mov ax, word [0x4b2b8a]
movsx ecx, ax
not ecx
mov edx, dword [0x497fa8]
imul edx, ecx
mov dword [0x497fa8], edx
jmp 0x41e2d9
mov eax, dword [0x49e4d4]
mov ecx, dword [0x4a601c]
and eax, ecx
mov ecx, dword [0x4a39e8]
add ecx, eax
mov dword [0x4a39e8], ecx
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x49c5d8]
and eax, 0xd41bc11c
mov dword [0x49c5d8], eax
jmp 0x41e064
jmp 0x41e2fb
cmp dword [esp + 0x60], 3
jge 0x41e42d
mov eax, 0xf37f7fc0
mov dword [0x4aa8dc], 0xdcf7f7fb
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov dx, word [0x4b03fe]
movsx ecx, dx
xor ecx, 0x435b3139
or ecx, 0x2ab98c0e
cmp eax, ecx
jne 0x41e362
mov eax, dword [0x49abe4]
imul eax, eax, 0xe298b5a3
mov cx, word [0x4b2ffa]
mov dx, cx
xor eax, edx
xor eax, 0x391b
mov cx, ax
mov word [0x4b2ffa], cx
test byte [esp + 0x7b], 1
je 0x41e3c5
mov eax, dword [0x4a2ba8]
or eax, 0x668360eb
mov dword [0x4a2ba8], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.004453a0
sub esp, 4
mov si, word [0x4af42a]
movsx ecx, si
not ecx
imul ecx, ecx, 0xa72efb31
mov si, word [0x4b0138]
movsx edx, si
and ecx, edx
mov edx, dword [0x49eb6c]
add edx, ecx
mov dword [0x49eb6c], edx
mov dword [esp + 0x14], eax
jmp 0x41e419
mov eax, dword [0x4a8bc8]
mov ecx, eax
inc ecx
mov dword [0x4a8bc8], ecx
and eax, 0xa533
mov dx, word [0x4b2182]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4b2182], dx
mov ecx, dword [esp + 0x7c]
mov eax, esp
mov dword [eax], 0x3d
call fcn.0043ff40
sub esp, 4
mov ecx, dword [0x4998c0]
and ecx, 0x5f79f623
mov dword [0x4998c0], ecx
mov dword [esp + 0x10], eax
mov eax, dword [0x49d028]
add eax, 0x5fba9e77
mov dword [0x49d028], eax
jmp 0x41e2fb
mov word [0x4b2a70], 0x9125
mov eax, 0xd9ba2ccd
mov dword [0x498774], 0xbe54f8ee
mov ecx, dword [esp + 0x44]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 0xc], eax
call fcn.0044b770
mov eax, dword [0x4a9368]
mov ecx, dword [0x49fcd4]
lea eax, [eax + ecx + 0x6d1c0d45]
mov dword [0x49fcd4], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004238a0
mov eax, dword [0x4a79bc]
dec eax
mov dword [0x4a79bc], eax
mov ecx, dword [0x4a05c4]
mov edx, ecx
dec edx
mov dword [0x4a05c4], edx
or eax, ecx
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x41e4d9
mov eax, dword [0x4a4924]
shl eax, 5
or eax, 0x81b
mov cx, word [0x4b38c0]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4b38c0], cx
jmp 0x41e507
mov eax, dword [0x4a5ba8]
add eax, 0x99bdd794
mov ecx, dword [0x49f718]
inc ecx
mov dword [0x49f718], ecx
cmp eax, ecx
jge 0x41e502
mov dword [0x4a5260], 0x5d1ebfb8
jmp 0x41e507
mov eax, 0xcd893020
mov ecx, esp
lea edx, [esp + 0x4d]
mov dword [ecx], edx
mov dword [ecx + 4], 4
mov dword [esp + 8], eax
call fcn.004238a0
mov eax, dword [0x497cd8]
sar eax, 9
xor eax, 0x21a82000
mov ecx, dword [esp + 8]
cmp ecx, eax
jne 0x41e599
mov eax, dword [0x49e230]
imul eax, eax, 0x82c71ecf
cmp eax, 0x8f2b8a15
jg 0x41e57d
mov eax, dword [0x4a1500]
mov ecx, eax
dec ecx
mov dword [0x4a1500], ecx
add eax, 0xf6f5b723
mov ecx, dword [0x4a4e1c]
or eax, ecx
or eax, 0x4fa6031b
mov dword [0x4a4e1c], eax
jmp 0x41e594
mov eax, dword [0x4a5d04]
mov ecx, dword [0x4a4774]
lea eax, [ecx + eax*2 + 0xa980e19]
mov dword [0x4a4774], eax
jmp 0x41e599
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004238a0
mov eax, dword [0x4a7894]
imul eax, eax, 0xef327809
mov dword [0x4a7894], eax
add esp, 0x80
pop esi
pop edi
pop ebx
ret