Function at 0x407bd0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
sub esp, 0x84
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x98]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov edi, 0xc71b2726
mov dword [esp + 0x80], eax
and cl, 1
mov byte [esp + 0x7f], cl
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], esi
mov eax, dword [0x49ea08]
mov edx, dword [0x49e120]
or edx, eax
mov dword [0x49e120], edx
mov eax, dword [0x49e2f8]
sar eax, 9
mov edx, dword [0x49e278]
xor eax, edx
mov edx, dword [0x49e8ec]
xor eax, edx
cmp edi, eax
jne 0x407c56
mov eax, dword [0x49dae0]
and eax, 0x14f73ec5
mov dword [0x49dae0], eax
jmp 0x407c92
mov eax, 0x201c0ac5
mov ecx, dword [0x49dfc8]
imul ecx, ecx, 0x8f7f9da3
and ecx, 0x51237795
cmp eax, ecx
jg 0x407c8d
mov ax, word [0x4a07e8]
mov cx, ax
xor ecx, 0x86d1
mov ax, cx
mov word [0x4a07e8], ax
jmp 0x407c92
mov dword [0x49ede8], 0xc5bed77e
mov eax, dword [0x49f0e8]
xor eax, 0x28349202
mov dword [0x49f0e8], eax
mov dword [esp + 0x64], 0
mov dword [0x49f818], 0x28cad16e
mov dword [esp + 0x60], 0
mov eax, dword [0x49eb60]
inc eax
mov dword [0x49eb60], eax
sub eax, 0xe027240e
cmp eax, 0x7e097144
jg 0x407cef
mov eax, dword [0x49ebc0]
add eax, 0xaaccf37d
mov dword [0x49ebc0], eax
mov eax, 0x1ab57fee
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x8306
mov dword [esp + 0x44], eax
call fcn.00448630
mov dword [esp + 0x48], eax
mov dx, word [0x4a0984]
mov ax, dx
add eax, 0x80826d10
mov dx, ax
mov word [0x4a0984], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1075
call fcn.00448630
mov dword [esp + 0x70], eax
mov eax, dword [0x49e3d8]
shl eax, 4
mov ecx, dword [0x49dc90]
not ecx
and eax, ecx
mov ecx, dword [0x49e4e0]
imul ecx, eax
mov dword [0x49e4e0], ecx
mov eax, dword [esp + 0x70]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x55]
mov dword [ecx], eax
call fcn.00455290
mov dx, word [0x49feca]
mov cx, dx
or ecx, 0xda4a
mov dx, cx
mov word [0x49feca], dx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0xa5be
mov dword [esp + 0x40], eax
call fcn.00448630
mov dword [esp + 0x6c], eax
mov dx, word [0x4a02ec]
movsx eax, dx
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jne 0x407e17
mov eax, 0x55dc189c
mov ecx, dword [0x49eb1c]
add ecx, 0xc70d172b
mov edx, dword [0x49e880]
sub ecx, edx
cmp eax, ecx
jl 0x407e03
mov eax, 0x577ff7ef
mov ecx, dword [0x49ecf0]
xor ecx, 0xffffffff
cmp eax, ecx
jg 0x407dfe
jmp 0x407dfe
jmp 0x407e12
mov eax, dword [0x49eff4]
and eax, 0x90ead1d6
mov dword [0x49eff4], eax
jmp 0x407e17
mov eax, 0xa0414b8c
mov ecx, dword [esp + 0x70]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x3c], eax
call fcn.0041ee00
mov eax, dword [0x49de1c]
xor eax, 0x33c7ce22
mov dword [0x49de1c], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.00455290
mov ecx, dword [0x49dacc]
xor ecx, 0xffffffff
and ecx, 0x1c689154
mov edx, dword [esp + 0x3c]
cmp edx, ecx
mov dword [esp + 0x38], eax
jne 0x407e85
mov eax, dword [0x49eaa0]
add eax, 0x1f0ed692
mov dword [0x49eaa0], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x654d
call fcn.00448630
mov dword [esp + 0x68], eax
mov eax, dword [0x49d9e4]
xor eax, 0xc5f2da30
mov dword [0x49d9e4], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0041ee00
mov eax, dword [0x49ed5c]
not eax
and eax, 0xe0e3f578
mov ecx, dword [0x49dac0]
sub ecx, eax
mov dword [0x49dac0], ecx
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00455290
mov ecx, dword [0x49ec80]
dec ecx
mov dword [0x49ec80], ecx
imul ecx, ecx, 0x2d84d3d9
mov dx, word [0x4a0958]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x4a0958], dx
mov ecx, dword [esp + 0x68]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 4
mov dword [esp + 0x34], eax
call fcn.0041ee00
mov eax, dword [0x49e2a0]
mov dx, word [0x4a0194]
movsx ecx, dx
imul eax, ecx
mov ecx, dword [0x49e378]
add ecx, eax
mov dword [0x49e378], ecx
cmp dword [esp + 0x78], 0
je 0x408587
mov eax, dword [0x49f85c]
dec eax
mov dword [0x49f85c], eax
imul eax, eax, 0x623076e9
add eax, 0x2753a27
mov ecx, dword [0x49f004]
xor ecx, eax
mov dword [0x49f004], ecx
mov eax, dword [esp + 0x78]
dec eax
mov dword [esp + 0x78], eax
mov eax, dword [0x49dc04]
imul eax, eax, 0x538d01b6
mov dword [0x49dc04], eax
mov eax, dword [esp + 0x74]
mov dl, byte [eax]
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x5d], dl
mov eax, dword [0x49f844]
not eax
mov ecx, dword [0x49f194]
lea eax, [eax + ecx + 0x392c7a5a]
mov dword [0x49f194], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x49edb0]
imul eax, eax, 0x9bf9ac0
mov dword [0x49edb0], eax
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x74], eax
mov eax, dword [0x49e72c]
mov ecx, eax
inc ecx
mov dword [0x49e72c], ecx
add eax, 0x3a0f8a4
xor eax, 0x3b0d0111
mov ecx, dword [0x49eff4]
xor ecx, 0xf75b6e88
cmp eax, ecx
jge 0x40803b
mov ax, word [0x49fd22]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49fd22], ax
movsx ecx, ax
add ecx, 0x6f7a334c
mov edx, dword [0x49ee74]
xor edx, ecx
mov dword [0x49ee74], edx
jmp 0x408058
mov eax, dword [0x49e07c]
mov ecx, eax
inc ecx
mov dword [0x49e07c], ecx
add eax, 0xec0bf3f1
and eax, 0x4be3b7f8
mov dword [0x49e560], eax
cmp dword [esp + 0x64], 3
jne 0x408572
mov eax, dword [0x49ded0]
add eax, 0xfa49fffd
mov dword [0x49ded0], eax
movzx eax, byte [esp + 0x5d]
shr eax, 2
mov cl, al
mov byte [esp + 0x59], cl
mov eax, dword [0x49ee24]
add eax, 0x3632a860
mov dword [0x49ee24], eax
movzx eax, byte [esp + 0x5d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x5a], cl
mov dword [0x49f6c0], 0xb6742cb6
movzx eax, byte [esp + 0x5e]
shr eax, 4
movzx edx, byte [esp + 0x5a]
add edx, eax
mov cl, dl
mov byte [esp + 0x5a], cl
mov si, word [0x4a02c0]
mov ax, si
or eax, 0x3627
mov si, ax
mov word [0x4a02c0], si
movzx eax, byte [esp + 0x5e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x5b], cl
mov eax, dword [0x49ec60]
mov edx, eax
dec edx
mov dword [0x49ec60], edx
mov edx, dword [0x49ef98]
xor edx, 0x42dc
or eax, edx
mov si, word [0x4a040c]
mov dx, si
xor edx, eax
mov si, dx
mov word [0x4a040c], si
movzx eax, byte [esp + 0x5f]
shr eax, 6
movzx edx, byte [esp + 0x5b]
add edx, eax
mov cl, dl
mov byte [esp + 0x5b], cl
mov eax, dword [0x49ec20]
or eax, 0xd3e49af8
mov edx, dword [0x49f3b4]
imul edx, eax
mov dword [0x49f3b4], edx
movzx eax, byte [esp + 0x5f]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x5c], cl
mov si, word [0x4a07a0]
mov ax, si
xor eax, 0x4fdc
mov si, ax
mov word [0x4a07a0], si
mov dword [esp + 0x64], 0
mov si, word [0x4a0876]
mov ax, si
xor eax, 0x38f4
mov si, ax
mov word [0x4a0876], si
cmp dword [esp + 0x64], 4
je 0x40850d
mov eax, dword [0x49f460]
xor eax, 0xffffffff
or eax, 0x8a4981b3
cmp eax, 0xb0df403e
jg 0x4081f0
mov eax, dword [0x49eae8]
dec eax
mov dword [0x49eae8], eax
mov ecx, dword [0x49ea50]
mov edx, ecx
dec edx
mov dword [0x49ea50], edx
and eax, ecx
mov ecx, dword [0x49ea30]
mov edx, ecx
dec edx
mov dword [0x49ea30], edx
and eax, ecx
mov ecx, dword [0x49dc08]
imul ecx, eax
mov dword [0x49dc08], ecx
test byte [esp + 0x7f], 1
je 0x408405
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3d
jle 0x408405
mov eax, 0xc1cac1d
mov ecx, dword [0x49eb7c]
mov edx, ecx
dec edx
mov dword [0x49eb7c], edx
or ecx, 0xc95c4ddc
cmp eax, ecx
jg 0x408247
mov eax, dword [0x49e71c]
mov ecx, dword [0x49f740]
sub ecx, eax
mov dword [0x49f740], ecx
jmp 0x408275
mov eax, 0x48dbd9a1
mov cx, word [0x49fcda]
movsx edx, cx
xor edx, 0xffffffff
and edx, 0x7ee5af92
cmp eax, edx
je 0x408270
mov word [0x49faf4], 0xc41e
jmp 0x408275
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3e
jne 0x408325
mov eax, 0xfde5368
mov ecx, dword [0x49ef00]
and ecx, 0x1fe9c690
mov dword [0x49ef00], ecx
mov ecx, dword [esp + 0x80]
mov edx, esp
lea esi, [esp + 0x55]
mov dword [edx], esi
mov dword [esp + 0x30], eax
call fcn.0041ce90
sub esp, 4
mov ecx, dword [0x49edf8]
mov edx, ecx
dec edx
mov dword [0x49edf8], edx
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x2c], eax
jg 0x408320
mov eax, 0xd79316a3
mov ecx, dword [0x49e0c0]
shl ecx, 3
mov edx, dword [0x49f8f4]
mov esi, edx
inc esi
mov dword [0x49f8f4], esi
mov esi, 0x57164865
sub esi, edx
xor ecx, esi
mov edx, dword [0x49e044]
shl edx, 1
sub eax, edx
cmp ecx, eax
jg 0x40831b
mov dword [0x49e4a4], 0xf19e5f1c
jmp 0x408320
jmp 0x408358
mov eax, dword [0x49f6f4]
and eax, 0x5a678286
mov dword [0x49f6f4], eax
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.0041ce90
sub esp, 4
mov word [0x49fade], 0x3434
mov dword [esp + 0x28], eax
mov eax, 0xa9d9f0fc
mov cx, word [0x49fd1c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x49fd1c], cx
movsx edx, cx
or edx, 0x5c78237
cmp eax, edx
jg 0x408400
mov eax, 0xa4556366
mov cx, word [0x4a065a]
movsx edx, cx
mov esi, dword [0x49e0d8]
mov edi, esi
dec edi
mov dword [0x49e0d8], edi
imul edx, esi
cmp eax, edx
je 0x4083db
mov eax, 0x136ab0ed
mov cx, word [0x4a05fc]
mov dx, cx
dec edx
mov si, dx
mov word [0x4a05fc], si
movsx edx, cx
cmp eax, edx
jg 0x4083d6
jmp 0x4083d6
jmp 0x4083fb
mov eax, dword [0x49e72c]
xor eax, 0x432d
mov cx, word [0x49fe1e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x49fe1e], cx
jmp 0x408400
jmp 0x4084cb
mov ax, word [0x4a03f0]
movsx ecx, ax
sar ecx, 8
add ecx, 0xdb5b03e2
cmp ecx, 0x88f0f867
jne 0x408486
mov eax, 0xb7ea0fb9
mov cx, word [0x4a0242]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a0242], cx
movsx edx, cx
xor edx, 0x6ea6f00b
cmp eax, edx
jge 0x408481
mov eax, dword [0x49e324]
mov ecx, dword [0x49efe8]
dec ecx
mov dword [0x49efe8], ecx
sub eax, ecx
or eax, 0xf535905a
cmp eax, 0x9c1b53eb
jg 0x408477
jmp 0x40847c
jmp 0x40847c
jmp 0x408481
jmp 0x408486
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
mov edx, dword [esp + 0x48]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.004421b0
sub esp, 4
mov ecx, dword [0x49e234]
sar ecx, 8
xor ecx, 0xe7212b0b
mov edx, dword [0x49def8]
or edx, ecx
mov dword [0x49def8], edx
mov dword [esp + 0x24], eax
mov eax, dword [0x49f33c]
mov ecx, eax
inc ecx
mov dword [0x49f33c], ecx
mov dword [0x49f6dc], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x49e0e4]
mov ecx, eax
dec ecx
mov dword [0x49e0e4], ecx
and eax, 0x8e13bf50
mov ecx, dword [0x49e824]
add ecx, eax
mov dword [0x49e824], ecx
jmp 0x408191
mov eax, 0x1767fbcb
mov ecx, dword [0x49dea8]
inc ecx
mov dword [0x49dea8], ecx
mov dx, word [0x4a045e]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4a045e], dx
mov dword [esp + 0x64], 0
mov ecx, dword [0x49e154]
mov dx, word [0x4a07f0]
movsx esi, dx
sub esi, 0x9b1b9a2b
and ecx, esi
cmp eax, ecx
jge 0x40856d
mov eax, dword [0x49f5f4]
add eax, 0x808c00a1
mov dword [0x49f5f4], eax
jmp 0x408572
mov eax, dword [0x49f5e4]
imul eax, eax, 0xa8295e8d
mov dword [0x49f5e4], eax
jmp 0x407f4f
mov ax, word [0x4a01f2]
mov cx, ax
add ecx, 0xffbd5ff8
mov ax, cx
mov word [0x4a01f2], ax
cmp dword [esp + 0x64], 0
je 0x408d2a
mov eax, dword [0x49e044]
mov ecx, eax
dec ecx
mov dword [0x49e044], ecx
and eax, 0x989f5d32
xor eax, 0xfdc7809e
cmp eax, 0xe2454a8f
jne 0x4085f3
mov ax, word [0x4a06a4]
mov cx, ax
add ecx, ecx
and ecx, 0xf538
mov ax, word [0x49f9d0]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x49f9d0], ax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov word [0x4a0580], 0xde4c
cmp dword [esp + 0x60], 3
jge 0x40866b
mov eax, dword [0x49e278]
not eax
add eax, 0xc8dc88d2
mov ecx, dword [0x49dd20]
or eax, ecx
or eax, 0x50f99d87
mov dword [0x49dd20], eax
mov eax, dword [esp + 0x60]
mov byte [esp + eax + 0x5d], 0
mov eax, dword [0x49e868]
and eax, 0xb1ebdc25
mov dword [0x49e868], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov dx, word [0x4a0246]
movsx eax, dx
mov ecx, dword [0x49f3d8]
xor ecx, eax
mov dword [0x49f3d8], ecx
jmp 0x408604
mov eax, dword [0x49de3c]
mov ecx, eax
inc ecx
mov dword [0x49de3c], ecx
and eax, 0x48db163a
cmp eax, 0xddffbf7b
jle 0x4086a4
mov eax, dword [0x49e8b4]
mov ecx, dword [0x49f4bc]
xor eax, ecx
mov ecx, dword [0x49eb00]
and ecx, eax
mov dword [0x49eb00], ecx
movzx eax, byte [esp + 0x5d]
shr eax, 2
mov cl, al
mov byte [esp + 0x59], cl
mov eax, dword [0x49e62c]
dec eax
mov dword [0x49e62c], eax
imul eax, eax, 0x7ef15654
and eax, 0xdb5a9ccf
cmp eax, 0x79db243d
jge 0x40870d
mov eax, dword [0x49f6b4]
mov ecx, dword [0x49dea0]
mov edx, ecx
dec edx
mov dword [0x49dea0], edx
lea eax, [eax + ecx - 1]
mov si, word [0x49fb5a]
mov cx, si
add eax, ecx
mov si, word [0x4a06c0]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4a06c0], si
mov eax, 0xa44ccde8
movzx ecx, byte [esp + 0x5d]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x5a], dl
mov si, word [0x49fd5c]
mov cx, si
dec ecx
mov si, cx
mov word [0x49fd5c], si
movsx ecx, si
and ecx, 0xda27035c
mov edi, dword [0x49e960]
or ecx, edi
cmp eax, ecx
jle 0x408765
mov eax, dword [0x49e684]
or eax, 0xe00c6c0f
mov dword [0x49e684], eax
jmp 0x40879a
mov eax, 0xd2c2ffa8
mov ecx, dword [0x49f910]
cmp eax, ecx
jne 0x408795
mov eax, dword [0x49df54]
inc eax
mov dword [0x49df54], eax
mov ecx, dword [0x49ea60]
or eax, ecx
or eax, 0x8fcafd17
mov dword [0x49ea60], eax
jmp 0x40879a
movzx eax, byte [esp + 0x5e]
shr eax, 4
movzx ecx, byte [esp + 0x5a]
add ecx, eax
mov dl, cl
mov byte [esp + 0x5a], dl
mov si, word [0x4a005a]
mov ax, si
add eax, 0x69d7c215
mov si, ax
mov word [0x4a005a], si
movzx eax, byte [esp + 0x5e]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x5b], dl
mov eax, dword [0x49f2a0]
xor eax, 0xb2cadc61
mov dword [0x49f2a0], eax
movzx eax, byte [esp + 0x5f]
shr eax, 6
movzx ecx, byte [esp + 0x5b]
add ecx, eax
mov dl, cl
mov byte [esp + 0x5b], dl
mov si, word [0x4a079e]
mov ax, si
add eax, 0xeb215c2e
mov si, ax
mov word [0x4a079e], si
movzx eax, byte [esp + 0x5f]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x5c], dl
mov eax, dword [0x49eb44]
mov ecx, eax
inc ecx
mov dword [0x49eb44], ecx
add eax, 0x52718eb3
mov ecx, dword [0x49e920]
and ecx, eax
mov dword [0x49e920], ecx
mov dword [esp + 0x60], 0
mov eax, dword [0x49e52c]
add eax, 0x820aa9a5
mov dword [0x49e52c], eax
mov eax, dword [0x49ecf8]
add eax, 0x2478b013
mov dword [0x49ecf8], eax
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x64]
jle 0x408888
mov dword [0x49e3f4], 0xe9081e1b
jmp 0x408afb
mov eax, dword [0x49e3b8]
xor eax, 0x406d39fd
mov dword [0x49e0f0], eax
test byte [esp + 0x7f], 1
je 0x408a4e
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3d
jle 0x408a4e
mov eax, 0x26cdcb0b
mov ecx, dword [0x49ef98]
imul ecx, ecx, 0x15ef1981
sub eax, ecx
cmp eax, 0xbb71576a
jg 0x4088e1
mov eax, dword [0x49e738]
add eax, 0x6900cc00
mov dword [0x49e738], eax
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3e
jne 0x408941
mov ax, word [0x4a02e4]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a02e4], ax
movsx ecx, ax
mov dword [0x49e2d0], ecx
mov ecx, dword [esp + 0x80]
mov edx, esp
lea esi, [esp + 0x55]
mov dword [edx], esi
call fcn.0041ce90
sub esp, 4
mov ecx, dword [0x49e6d0]
and ecx, 0xa17a5b24
mov dword [0x49e6d0], ecx
mov dword [esp + 0x20], eax
jmp 0x4089f6
mov ax, word [0x4a00ce]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a00ce], dx
movsx ecx, ax
and ecx, 0x349baeac
cmp ecx, 0xafd9f7e3
jg 0x4089b9
mov eax, 0xee25ae2c
mov ecx, dword [0x49f68c]
inc ecx
mov dword [0x49f68c], ecx
mov edx, dword [0x49ded4]
sub ecx, edx
and ecx, 0xc5dcb70c
cmp eax, ecx
je 0x4089b4
mov eax, 0x8002130
mov ecx, dword [0x49ec58]
cmp eax, ecx
jg 0x4089aa
jmp 0x4089af
jmp 0x4089af
jmp 0x4089b4
jmp 0x4089d1
mov ax, word [0x49fe4a]
mov cx, ax
add ecx, 0xc42b7ec4
mov ax, cx
mov word [0x49fa68], ax
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.0041ce90
sub esp, 4
mov dword [0x49ea7c], 0x213ce5b7
mov dword [esp + 0x1c], eax
mov eax, 0xa6d74e6e
mov ecx, dword [0x49ef50]
or ecx, 0x2968bbbf
cmp eax, ecx
jg 0x408a49
mov eax, 0x46f95888
mov ecx, dword [0x49dba4]
cmp eax, ecx
jle 0x408a44
mov eax, dword [0x49e7bc]
xor eax, 0xffffffff
xor eax, 0xa24dc1e3
cmp eax, 0x7feeaf94
je 0x408a3f
jmp 0x408a3f
jmp 0x408a44
jmp 0x408a49
jmp 0x408a92
mov dword [0x49f910], 0x9b45edd3
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
mov edx, dword [esp + 0x48]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.004421b0
sub esp, 4
mov ecx, dword [0x49de54]
add ecx, 0x14ce5ed2
mov dword [0x49de54], ecx
mov dword [esp + 0x18], eax
mov ax, word [0x4a07fc]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x4a07fc], ax
mov edx, dword [0x49f7d8]
imul edx, edx, 0xfc112e1d
sub ecx, edx
mov ax, word [0x4a02f6]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x4a02f6], ax
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [0x49f374]
dec ecx
mov dword [0x49f374], ecx
mov edx, dword [0x49ea28]
imul edx, edx, 0x1c945389
or ecx, edx
mov ax, cx
mov word [0x4a02e4], ax
jmp 0x40885c
jmp 0x408b00
cmp dword [esp + 0x64], 3
jge 0x408d1b
mov eax, dword [0x49ed78]
or eax, 0x3fd9da45
mov cx, word [0x49fd7c]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49fd7c], cx
movsx edx, cx
or edx, 0xe0da5e94
cmp eax, edx
jg 0x408b5a
mov eax, dword [0x49e2ec]
inc eax
mov dword [0x49e2ec], eax
mov ecx, dword [0x49dd0c]
imul ecx, eax
mov dword [0x49dd0c], ecx
jmp 0x408b72
mov ax, word [0x4a0356]
movsx ecx, ax
shl ecx, 2
or ecx, 0x22702dc7
mov dword [0x49f438], ecx
mov eax, 0x10c3e30
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [0x49dc38]
shl ecx, 6
sub ecx, 0x47e06152
cmp eax, ecx
je 0x408baf
mov ax, word [0x4a07d6]
mov cx, ax
imul ecx, ecx, 0xad2883de
mov ax, cx
mov word [0x4a07d6], ax
test byte [esp + 0x7f], 1
je 0x408c12
mov eax, dword [0x49f54c]
xor eax, 0x907b2e7
mov ecx, dword [0x49f548]
and ecx, eax
mov dword [0x49f548], ecx
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0041ce90
sub esp, 4
mov si, word [0x4a0932]
movsx ecx, si
not ecx
or ecx, 0x2f39d8dc
mov edx, dword [0x49e77c]
and edx, ecx
mov dword [0x49e77c], edx
mov dword [esp + 0x14], eax
jmp 0x408cc9
mov eax, 0xfbbbf8
mov ecx, dword [0x49e5a8]
mov edx, ecx
dec edx
mov dword [0x49e5a8], edx
mov si, word [0x49fbba]
mov dx, si
lea ecx, [ecx + edx - 0x21201ce4]
mov si, cx
mov word [0x49fbba], si
mov ecx, dword [esp + 0x80]
mov edx, esp
mov dword [edx], 0x3d
mov dword [esp + 0x10], eax
call fcn.004421b0
sub esp, 4
mov ecx, dword [0x49db9c]
inc ecx
mov dword [0x49db9c], ecx
imul ecx, ecx, 0x22801042
mov edx, dword [esp + 0x10]
cmp edx, ecx
mov dword [esp + 0xc], eax
jne 0x408cac
mov eax, 0xb5326b93
mov ecx, dword [0x49e5cc]
and ecx, 0x48b7fc17
cmp eax, ecx
jge 0x408ca7
mov eax, dword [0x49e524]
or eax, 0xac257608
mov dword [0x49e524], eax
jmp 0x408cc4
mov ax, word [0x4a05f8]
mov cx, ax
add ecx, 0x60cac79e
mov ax, cx
mov word [0x4a05f8], ax
jmp 0x408cc9
mov eax, 0xc48058cc
mov ecx, dword [0x49dcd4]
cmp eax, ecx
jl 0x408d16
mov eax, 0xcf464516
mov ecx, dword [0x49e278]
inc ecx
mov dword [0x49e278], ecx
and ecx, 0xb2af3960
xor ecx, 0xca4461f3
cmp eax, ecx
jne 0x408d11
mov eax, dword [0x49df50]
or eax, 0x2ac8e913
mov dword [0x49df50], eax
jmp 0x408d16
jmp 0x408b00
mov eax, dword [0x49f4fc]
add eax, 0xd7f6e1b3
mov dword [0x49f4fc], eax
mov eax, 0x42ce50dc
mov ecx, dword [0x49da40]
add ecx, 0x3a6ade72
mov dword [0x49da40], ecx
mov ecx, dword [esp + 0x48]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 8], eax
call fcn.0041ee00
mov eax, dword [0x49f650]
or eax, 0x7d0df415
mov dword [0x49f650], eax
mov eax, esp
lea ecx, [esp + 0x55]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040dc50
mov eax, dword [0x49e6f8]
mov ecx, eax
inc ecx
mov dword [0x49e6f8], ecx
mov ecx, 0x86057002
sub ecx, eax
mov eax, dword [0x49dcc8]
sar eax, 8
and ecx, eax
mov eax, dword [0x49ebb4]
xor eax, ecx
mov dword [0x49ebb4], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040dc50
mov eax, dword [0x49e248]
imul eax, eax, 0x6896747a
mov ecx, dword [0x49de10]
sar ecx, 6
or eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jne 0x408e42
mov eax, 0x220a2b9b
mov cx, word [0x4a0652]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a0652], cx
movsx edx, cx
sub eax, edx
or eax, 0xf0a77e5c
cmp eax, 0x6b5d501e
jl 0x408e3d
mov eax, dword [0x49e928]
shl eax, 3
mov ecx, dword [0x49e0a4]
xor ecx, 0x6262330d
or ecx, 0xf173d74c
cmp eax, ecx
je 0x408e33
jmp 0x408e38
jmp 0x408e38
jmp 0x408e3d
jmp 0x408e42
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040dc50
mov eax, dword [0x49f89c]
shl eax, 3
add eax, 0xd298443c
or eax, 0xc244e30
cmp eax, 0x2040d050
jne 0x408e82
mov eax, dword [0x49f188]
add eax, 0x7a74539c
mov dword [0x49f188], eax
add esp, 0x84
pop esi
pop edi
ret