Function at 0x43dee0
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 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 [0x4a29ec]
mov edx, eax
inc edx
mov dword [0x4a29ec], edx
mov edx, dword [0x4a2884]
lea eax, [edx + eax + 1]
mov dword [0x4a2884], eax
mov di, word [0x4ac690]
movsx eax, di
shr eax, 5
and eax, 0xd5d4
mov di, word [0x4b27e0]
mov dx, di
or edx, eax
mov di, dx
mov word [0x4b27e0], di
mov eax, dword [0x49fac0]
inc eax
mov dword [0x49fac0], eax
cmp eax, 0x1d68de21
jl 0x43df8d
mov ax, word [0x4b18ca]
movsx ecx, ax
mov edx, dword [0x4a8f68]
xor edx, 0xb646a5a8
or ecx, edx
mov dword [0x4946dc], ecx
mov eax, 0xe27d1786
mov cx, word [0x4b4f4e]
mov dx, cx
add edx, 0xdb500000
mov cx, dx
mov word [0x4b4f4e], cx
mov dword [esp + 0x54], 0
mov cx, word [0x4ab974]
movsx edx, cx
sar edx, 1
cmp eax, edx
jge 0x43dfd8
mov dword [0x49a27c], 0xb2a0a138
jmp 0x43dfe7
mov eax, dword [0x4a3688]
xor eax, 0xef7e7ddf
mov dword [0x4a3688], eax
mov eax, 0xd0ccb3a1
mov dword [esp + 0x50], 0
mov ecx, dword [0x49edc0]
shl ecx, 2
and ecx, 0xd39b7f1c
xor ecx, 0x768ee8f
cmp eax, ecx
je 0x43e020
mov eax, dword [0x492788]
or eax, 0xfeafafb4
mov dword [0x492788], eax
mov eax, 0x745f9eaf
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x3857
mov dword [esp + 0x34], eax
call fcn.0042df40
mov dword [esp + 0x38], eax
mov dx, word [0x4b1ba8]
mov ax, dx
imul eax, eax, 0x4efbbdbf
mov dx, ax
mov word [0x4b1ba8], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1653
call fcn.0042df40
mov dword [esp + 0x60], eax
mov eax, dword [0x4a5d20]
inc eax
mov dword [0x4a5d20], eax
mov ecx, dword [0x49f238]
and ecx, eax
mov dword [0x49f238], ecx
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.00455410
mov ecx, dword [0x493ae0]
sar ecx, 5
and ecx, 0x5733742a
xor ecx, 0xc09b941c
mov dword [0x493d8c], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x2a8b
mov dword [esp + 0x30], eax
call fcn.0042df40
mov dword [esp + 0x5c], eax
mov eax, dword [0x496f80]
dec eax
mov dword [0x496f80], eax
xor eax, 0x407009d0
mov ecx, dword [0x496094]
and ecx, eax
mov dword [0x496094], ecx
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0041e970
mov eax, dword [0x498620]
imul eax, eax, 0x89e826bb
mov dword [0x498620], eax
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x41]
mov dword [ecx], eax
call fcn.00455410
mov ecx, dword [0x499b54]
imul ecx, ecx, 0x6e018000
mov dx, word [0x4af950]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4af950], dx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0xe4e
mov dword [esp + 0x2c], eax
call fcn.0042df40
mov dword [esp + 0x58], eax
mov eax, dword [0x4a0084]
mov ecx, eax
dec ecx
mov dword [0x4a0084], ecx
mov ecx, dword [0x4a7b54]
or ecx, eax
mov dword [0x4a7b54], ecx
mov eax, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0041e970
mov eax, dword [0x4962ac]
shl eax, 3
mov dx, word [0x4aa228]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4aa228], dx
mov eax, dword [esp + 0x58]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x3d]
mov dword [ecx], eax
call fcn.00455410
mov ecx, dword [0x49d470]
add ecx, 0x822a309e
mov dword [0x49d470], ecx
mov ecx, dword [esp + 0x58]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 4
mov dword [esp + 0x28], eax
call fcn.0041e970
mov eax, dword [0x499e6c]
mov ecx, eax
dec ecx
mov dword [0x499e6c], ecx
mov ecx, 0x3012c4a9
sub ecx, eax
mov dx, word [0x4ac63a]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4ac63a], dx
movsx eax, dx
mov esi, dword [esp + 0x34]
sub esi, eax
cmp ecx, esi
jge 0x43e241
mov eax, dword [0x4965ac]
and eax, 0xddd20540
mov dword [0x4965ac], eax
jmp 0x43e246
cmp dword [esp + 0x68], 0
je 0x43e79a
mov eax, 0x3da269a6
mov ecx, dword [0x492c94]
add ecx, 0x4d485566
mov edx, dword [0x49cd60]
sub edx, ecx
mov dword [0x49cd60], edx
mov ecx, dword [esp + 0x68]
dec ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [0x4a436c]
mov edx, ecx
inc edx
mov dword [0x4a436c], edx
mov edx, dword [0x493f24]
mov esi, edx
dec esi
mov dword [0x493f24], esi
xor edx, 0x2460adca
or ecx, edx
cmp eax, ecx
jg 0x43e2c5
mov eax, dword [0x4996f8]
dec eax
mov dword [0x4996f8], eax
or eax, 0xc1e522c1
mov ecx, dword [0x499ac4]
add ecx, eax
mov dword [0x499ac4], ecx
mov eax, dword [esp + 0x64]
mov cl, byte [eax]
mov eax, dword [esp + 0x54]
mov byte [esp + eax + 0x4d], cl
mov eax, dword [0x492ac8]
and eax, 0xd65944b8
xor eax, 0x212248ba
mov edx, dword [0x4a572c]
sub edx, eax
mov dword [0x4a572c], edx
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov si, word [0x4ab382]
mov ax, si
add eax, 0xa9e5102a
mov si, ax
mov word [0x4ab382], si
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov si, word [0x4add42]
mov ax, si
mov si, word [0x4b124a]
mov dx, si
or eax, edx
or eax, 0x42ec
mov si, ax
mov word [0x4b124a], si
cmp dword [esp + 0x54], 3
jne 0x43e772
mov eax, 0x25819c52
mov cx, word [0x4b549e]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4b549e], cx
or edx, 0x3e42
mov cx, word [0x4b0aae]
mov si, cx
add esi, edx
mov cx, si
mov word [0x4b0aae], cx
movzx edx, byte [esp + 0x4d]
shr edx, 2
mov bl, dl
mov byte [esp + 0x49], bl
mov edx, dword [0x49a0fc]
sar edx, 9
and edx, 0xd343c34e
cmp eax, edx
je 0x43e3be
mov ax, word [0x4acfb4]
mov cx, ax
or ecx, 0x282a
mov ax, cx
mov word [0x4acfb4], ax
movzx eax, byte [esp + 0x4d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4a], cl
mov eax, dword [0x4a0588]
mov dx, word [0x4afeca]
movsx esi, dx
xor eax, esi
or eax, 0x45006f3b
cmp eax, 0xe7ff78fb
jl 0x43e3ff
mov eax, dword [0x4955a4]
add eax, 0xcaabcfb0
mov dword [0x4955a4], eax
mov eax, 0xf5bbfdbc
movzx ecx, byte [esp + 0x4e]
shr ecx, 4
movzx edx, byte [esp + 0x4a]
add edx, ecx
mov bl, dl
mov byte [esp + 0x4a], bl
mov ecx, dword [0x49fea0]
and ecx, 0x98c5623e
mov edx, dword [0x4a9684]
sub edx, ecx
mov dword [0x4a9684], edx
movzx ecx, byte [esp + 0x4e]
and ecx, 0xf
shl ecx, 2
mov bl, cl
mov byte [esp + 0x4b], bl
mov ecx, dword [0x49f8fc]
not ecx
add ecx, 0x32b614f2
mov si, word [0x4b03e2]
mov dx, si
xor edx, ecx
mov si, dx
mov word [0x4b03e2], si
movzx ecx, byte [esp + 0x4f]
shr ecx, 6
movzx edx, byte [esp + 0x4b]
add edx, ecx
mov bl, dl
mov byte [esp + 0x4b], bl
mov si, word [0x4b5b32]
movsx ecx, si
shl ecx, 1
cmp eax, ecx
jne 0x43e4af
mov ax, word [0x4abee0]
mov cx, ax
xor ecx, 0xea40
mov ax, cx
mov word [0x4abee0], ax
jmp 0x43e4ce
mov eax, dword [0x49906c]
mov cx, word [0x4ab308]
mov dx, cx
imul eax, edx
shl eax, 9
mov cx, ax
mov word [0x4ab308], cx
mov eax, 0x3269cc89
movzx ecx, byte [esp + 0x4f]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x4c], dl
mov ecx, dword [0x49bf80]
and ecx, 0x97d39be
mov dword [0x49bf80], ecx
mov dword [esp + 0x54], 0
mov ecx, dword [0x4a3540]
dec ecx
mov dword [0x4a3540], ecx
xor ecx, 0xb15e1ea9
mov si, word [0x4ae314]
movsx edi, si
sub eax, edi
xor eax, 0xdad6e842
cmp ecx, eax
jg 0x43e53b
mov eax, dword [0x4a7f34]
mov ecx, dword [0x4a3c30]
xor eax, ecx
not eax
mov dword [0x4a3c30], eax
jmp 0x43e540
cmp dword [esp + 0x54], 4
je 0x43e70e
mov eax, dword [0x4a5104]
imul eax, eax, 0xae0c4916
mov ecx, dword [0x4a0e6c]
lea eax, [eax + ecx + 0x5d1776f]
mov dword [0x4a0e6c], eax
test byte [esp + 0x6f], 1
je 0x43e681
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x43e681
mov eax, dword [0x4a6b34]
not eax
add eax, 0x6e246712
mov dword [0x4a1100], eax
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x43e618
mov ax, word [0x4b33cc]
movsx ecx, ax
mov edx, dword [0x4954c0]
xor edx, 0xffffffff
cmp ecx, edx
jl 0x43e5e2
mov eax, dword [0x493a78]
mov cx, word [0x4acd70]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4acd70], cx
jmp 0x43e5f1
mov eax, dword [0x49e77c]
xor eax, 0x222ad264
mov dword [0x49e77c], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.004480e0
sub esp, 4
mov dword [0x4965dc], 0x5c7ee6cf
mov dword [esp + 0x24], eax
jmp 0x43e652
mov eax, dword [0x493860]
add eax, 0x44b673c0
mov ecx, dword [0x4a8190]
xor ecx, eax
mov dword [0x4a8190], ecx
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.004480e0
sub esp, 4
mov dword [0x498500], 0x3fe186eb
mov dword [esp + 0x20], eax
mov eax, 0x82108060
mov ecx, dword [0x4a44d8]
inc ecx
mov dword [0x4a44d8], ecx
cmp eax, ecx
je 0x43e67c
mov eax, dword [0x4a5b60]
imul eax, eax, 0xf05c5d00
mov dword [0x4a5b60], eax
jmp 0x43e6cc
mov eax, dword [0x49f1b4]
mov ecx, dword [0x497e30]
imul eax, ecx
mov ecx, dword [0x4a9a40]
or ecx, eax
mov dword [0x4a9a40], ecx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
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.00442e20
sub esp, 4
mov dword [0x4a38c4], 0xd4c5a2e0
mov dword [esp + 0x1c], eax
mov eax, dword [0x499d94]
xor eax, 0x64908320
mov dword [0x499d94], eax
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [0x4976c8]
imul eax, eax, 0x728f6c72
mov cx, word [0x4b409e]
movsx edx, cx
sub eax, edx
mov edx, dword [0x4a3c24]
or edx, eax
mov dword [0x4a3c24], edx
jmp 0x43e540
mov ax, word [0x4b30fa]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4b30fa], dx
movsx ecx, ax
add ecx, 0x2ee276b3
mov esi, dword [0x4a5ac8]
xor ecx, esi
xor ecx, 0x7e2c0255
mov dword [0x4a5ac8], ecx
mov dword [esp + 0x54], 0
mov ax, word [0x4b1a26]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4b1a26], dx
movsx ecx, ax
or ecx, 0xdbf3ff7e
mov esi, dword [0x4a8c84]
xor esi, ecx
mov dword [0x4a8c84], esi
mov eax, dword [0x4a37dc]
mov ecx, eax
dec ecx
mov dword [0x4a37dc], ecx
imul eax, eax, 0xf61e218
xor eax, 0xf83e
mov dx, ax
mov word [0x4b39ce], dx
jmp 0x43e246
mov ax, word [0x4b1d68]
mov cx, ax
add ecx, 0xf48df568
mov ax, cx
mov word [0x4b1d68], ax
cmp dword [esp + 0x54], 0
je 0x43ef2a
mov eax, dword [0x491fc4]
or eax, 0x4d41727f
mov dword [0x491fc4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [0x4a4328]
inc eax
mov dword [0x4a4328], eax
mov cx, word [0x4afa82]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4afa82], cx
cmp dword [esp + 0x50], 3
jge 0x43e854
mov eax, dword [0x495b00]
mov ecx, dword [0x4a27b0]
imul ecx, eax
mov dword [0x4a27b0], ecx
mov eax, dword [esp + 0x50]
mov byte [esp + eax + 0x4d], 0
mov eax, dword [0x4a0fc8]
imul eax, eax, 0x36ae718c
mov dword [0x4a0fc8], eax
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov dx, word [0x4aa1ee]
mov ax, dx
add eax, 0x2aee1674
mov dx, ax
mov word [0x4aa1ee], dx
jmp 0x43e7f5
mov eax, dword [0x4a2cb4]
and eax, 0x806becab
mov dword [0x4a2cb4], eax
movzx eax, byte [esp + 0x4d]
shr eax, 2
mov cl, al
mov byte [esp + 0x49], cl
mov dx, word [0x4b5eae]
mov ax, dx
inc eax
mov si, ax
mov word [0x4b5eae], si
movsx eax, dx
mov edi, dword [0x4a8df8]
add edi, eax
mov dword [0x4a8df8], edi
movzx eax, byte [esp + 0x4d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4a], cl
mov eax, dword [0x499fec]
dec eax
mov dword [0x499fec], eax
or eax, 0xa1670e20
mov edi, dword [0x497888]
imul edi, edi, 0xb83360f6
and edi, 0xadf05951
cmp eax, edi
je 0x43e948
mov eax, dword [0x495050]
mov cx, word [0x4afb1e]
movsx edx, cx
xor eax, edx
not eax
mov cx, word [0x4b1072]
movsx edx, cx
imul edx, edx, 0x56007b32
cmp eax, edx
jne 0x43e943
mov eax, 0x3c49b43e
mov ecx, dword [0x4a8010]
mov edx, ecx
inc edx
mov dword [0x4a8010], edx
add ecx, 0x2cde1293
mov si, word [0x4adec2]
mov dx, si
dec edx
mov si, dx
mov word [0x4adec2], si
movsx edx, si
and ecx, edx
cmp eax, ecx
jge 0x43e93e
jmp 0x43e93e
jmp 0x43e943
jmp 0x43e948
movzx eax, byte [esp + 0x4e]
shr eax, 4
movzx ecx, byte [esp + 0x4a]
add ecx, eax
mov dl, cl
mov byte [esp + 0x4a], dl
mov eax, dword [0x498338]
xor eax, 0x7c035eae
mov dword [0x498338], eax
movzx eax, byte [esp + 0x4e]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x4b], dl
mov eax, dword [0x4a98d8]
xor eax, 0x86c4e20
mov dword [0x4a98d8], eax
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 eax, dword [0x49f05c]
mov ecx, eax
dec ecx
mov dword [0x49f05c], ecx
xor eax, 0x47d59167
cmp eax, 0xe477f4b0
jge 0x43ea2a
mov eax, 0x30808385
mov ecx, dword [0x49262c]
xor ecx, 0x2c93c19f
cmp eax, ecx
jg 0x43ea25
mov eax, 0x6adc565
mov ecx, dword [0x4a2618]
dec ecx
mov dword [0x4a2618], ecx
mov dx, word [0x4b5fd0]
mov si, dx
inc esi
mov di, si
mov word [0x4b5fd0], di
movsx esi, dx
and ecx, esi
mov dx, word [0x4aa3c0]
movsx esi, dx
shl esi, 4
or ecx, esi
cmp eax, ecx
jne 0x43ea20
jmp 0x43ea20
jmp 0x43ea25
jmp 0x43ea2a
movzx eax, byte [esp + 0x4f]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x4c], cl
mov eax, dword [0x499d38]
mov edx, eax
inc edx
mov dword [0x499d38], edx
cmp eax, 0xa150112
je 0x43ea72
mov eax, dword [0x494ee0]
mov ecx, dword [0x492bd0]
add ecx, 0x17fa4b9b
and eax, ecx
mov ecx, dword [0x4991a8]
and ecx, eax
mov dword [0x4991a8], ecx
mov dword [esp + 0x50], 0
mov eax, dword [0x49b6d4]
or eax, 0x92dc91ad
mov dword [0x49b6d4], eax
mov eax, dword [0x495b08]
imul eax, eax, 0x6f4abbef
mov dword [0x495b08], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jle 0x43eb13
mov eax, 0xde5da21b
mov ecx, dword [0x492b04]
cmp eax, ecx
jge 0x43eb0e
mov eax, dword [0x4955f8]
imul eax, eax, 0xcf01aeb6
mov ecx, dword [0x499cf8]
sar ecx, 1
sub ecx, 0x4fc0df9f
cmp eax, ecx
jl 0x43eaff
mov eax, dword [0x4a30f8]
mov ecx, dword [0x49c48c]
and ecx, 0xb0764001
cmp eax, ecx
jl 0x43eafa
jmp 0x43eafa
jmp 0x43eb09
mov dword [0x4a7a6c], 0x18f17636
jmp 0x43eb0e
jmp 0x43ed57
mov eax, 0xddd53f96
mov cx, word [0x4af6ca]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4af6ca], cx
movsx edx, cx
cmp eax, edx
jne 0x43eb54
mov eax, dword [0x4954bc]
add eax, 0xd150580f
mov ecx, dword [0x4a9b78]
or eax, ecx
or eax, 0x7ada2046
mov dword [0x4a9b78], eax
test byte [esp + 0x6f], 1
je 0x43eca3
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x43eca3
mov eax, dword [0x49b7fc]
and eax, 0x144b7454
mov dword [0x49b7fc], eax
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x43ebd0
mov eax, dword [0x4951dc]
add eax, 0x117a4440
mov dword [0x4951dc], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.004480e0
sub esp, 4
mov ecx, dword [0x492ee4]
xor ecx, 0x231888a2
mov dword [0x492ee4], ecx
mov dword [esp + 0x18], eax
jmp 0x43ec34
mov dword [0x498464], 0x72b22f59
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.004480e0
sub esp, 4
mov ecx, dword [0x4961a0]
add ecx, 0x6ad9a6a0
or ecx, 0xa8b9cc3b
mov edx, dword [0x496264]
dec edx
mov dword [0x496264], edx
imul edx, edx, 0xaec8ce19
imul edx, edx, 0xf97e7b4
cmp ecx, edx
mov dword [esp + 0x14], eax
jge 0x43ec2f
mov dword [0x492450], 0xfbff5fbf
jmp 0x43ec34
mov eax, 0x3dfffde6
mov cx, word [0x4afb20]
movsx edx, cx
shl edx, 4
and edx, 0x26cb754b
xor edx, 0x841c3d4d
cmp eax, edx
je 0x43ec85
mov ax, word [0x4b3e8c]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4b3e8c], dx
movsx ecx, ax
mov esi, dword [0x49e2c8]
imul esi, ecx
mov dword [0x49e2c8], esi
jmp 0x43ec9e
mov eax, dword [0x493110]
mov ecx, dword [0x4a7764]
imul eax, ecx
imul eax, eax, 0xcc08b45d
mov dword [0x4a7764], eax
jmp 0x43ed04
mov eax, dword [0x49e4f4]
mov ecx, eax
inc ecx
mov dword [0x49e4f4], ecx
mov dx, word [0x4aea12]
movsx ecx, dx
lea eax, [eax + ecx + 1]
mov ecx, dword [0x4a8588]
xor ecx, eax
mov dword [0x4a8588], ecx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
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.00442e20
sub esp, 4
mov ecx, dword [0x494460]
and ecx, 0x5dad35f
mov dword [0x494460], ecx
mov dword [esp + 0x10], eax
mov ax, word [0x4acfde]
mov cx, ax
xor ecx, 0x2efc
mov ax, cx
mov word [0x4acfde], ax
mov ecx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [0x4a2438]
dec ecx
mov dword [0x4a2438], ecx
mov edx, dword [0x4a414c]
xor edx, 0xffffffff
cmp ecx, edx
jg 0x43ed52
mov eax, dword [0x49adc8]
xor eax, 0x2bff3bdf
mov dword [0x49adc8], eax
jmp 0x43ea89
jmp 0x43ed5c
cmp dword [esp + 0x54], 3
jge 0x43eeca
mov eax, 0xecdcdd3f
mov ecx, dword [0x49bb64]
inc ecx
mov dword [0x49bb64], ecx
cmp eax, ecx
je 0x43edde
mov eax, 0xf58c3f4c
mov cx, word [0x4b3014]
movsx edx, cx
sar edx, 9
imul edx, edx, 0x27bc337
mov cx, word [0x4af2ea]
movsx esi, cx
and edx, esi
cmp eax, edx
jne 0x43edd9
mov eax, dword [0x4a9d78]
dec eax
mov dword [0x4a9d78], eax
xor eax, 0x486
or eax, 0x5838
mov cx, word [0x4adfd8]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4adfd8], cx
jmp 0x43edde
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov cx, word [0x4ac682]
movsx eax, cx
sar eax, 7
mov edx, dword [0x499e4c]
shl edx, 9
or eax, edx
mov edx, dword [0x492b18]
or edx, eax
mov dword [0x492b18], edx
test byte [esp + 0x6f], 1
je 0x43ee56
mov eax, dword [0x49ae60]
add eax, 0x2111727d
mov dword [0x49ae60], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x3d]
mov dword [eax], edx
call fcn.004480e0
sub esp, 4
mov ecx, dword [0x4a8b9c]
imul ecx, ecx, 0xeabdf7ff
mov dword [0x4a8b9c], ecx
mov dword [esp + 0xc], eax
jmp 0x43eea8
mov eax, dword [0x49dce8]
mov ecx, eax
inc ecx
mov dword [0x49dce8], ecx
mov ecx, 0x45ac9ec7
sub ecx, eax
mov eax, dword [0x4a69d8]
add ecx, eax
mov eax, dword [0x493a84]
or eax, ecx
mov dword [0x493a84], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
mov dword [eax], 0x3d
call fcn.00442e20
sub esp, 4
mov ecx, dword [0x493e9c]
xor ecx, 0x554a984c
mov dword [0x493e9c], ecx
mov dword [esp + 8], eax
mov ax, word [0x4afc98]
movsx ecx, ax
or ecx, 0x20350c
mov edx, dword [0x4a7014]
and edx, ecx
mov dword [0x4a7014], edx
jmp 0x43ed5c
mov eax, dword [0x4a709c]
mov ecx, eax
inc ecx
mov dword [0x4a709c], ecx
mov ecx, dword [0x497440]
imul eax, ecx
mov ecx, 0x91db19a5
sub ecx, eax
mov eax, dword [0x4a59e8]
imul eax, eax, 0xe2126d7c
cmp ecx, eax
je 0x43ef25
mov eax, dword [0x4a9f54]
imul eax, eax, 0x6039b413
cmp eax, 0xe7fcffb4
jge 0x43ef20
mov eax, dword [0x4a67d0]
and eax, 0x7f8ff45f
mov dword [0x4a67d0], eax
jmp 0x43ef25
jmp 0x43ef2a
mov eax, dword [0x49e6c4]
mov cx, word [0x4b5480]
movsx edx, cx
sar edx, 3
xor eax, edx
xor eax, 0x7bc2e1d5
cmp eax, 0x76fa5aba
jge 0x43ef65
mov ax, word [0x4b3218]
movsx ecx, ax
mov edx, dword [0x4961a4]
xor edx, ecx
mov dword [0x4961a4], edx
mov eax, dword [esp + 0x38]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.0041e970
mov eax, dword [0x4a4b18]
mov ecx, eax
inc ecx
mov dword [0x4a4b18], ecx
xor eax, 0xdcfe7b1e
mov ecx, dword [0x4a9b8c]
sub ecx, eax
mov dword [0x4a9b8c], ecx
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00439e20
mov eax, dword [0x49b0c4]
mov ecx, eax
inc ecx
mov dword [0x49b0c4], ecx
sub eax, 0x10ef3a44
cmp eax, 0xf3fee7ea
jle 0x43efdb
mov eax, dword [0x49dd24]
add eax, 0x88ac1e7e
mov dword [0x49dd24], eax
mov eax, esp
lea ecx, [esp + 0x41]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00439e20
mov eax, dword [0x4a02f4]
xor eax, 0xb706
mov dx, word [0x4b1544]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4b1544], dx
mov eax, esp
lea ecx, [esp + 0x3d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00439e20
mov dx, word [0x4b09f8]
mov ax, dx
xor eax, 0xd31e
mov dx, ax
mov word [0x4b09f8], dx
add esp, 0x74
pop esi
pop edi
pop ebx
ret