Function at 0x429540
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov dword [0x44481c], 0x2f35baed
movzx eax, word [0x44e218]
or eax, 0x42d93b45
mov word [0x44e218], ax
mov ecx, dword [0x442664]
sar ecx, 7
and ecx, 0xe388c2a0
mov dword [0x442294], ecx
inc dword [0x43d548]
mov edx, dword [0x43d548]
sub esp, 0x18
cmp edx, 0xdf5828d0
jne 0x4295a9
mov eax, dword [0x437188]
mov ecx, dword [0x445eec]
add eax, 0xb5d64465
xor ecx, eax
xor ecx, 0x315ac9f9
mov dword [0x445eec], ecx
add dword [0x444f74], 0x6b634966
mov edx, dword [0x439098]
mov eax, dword [0x43fa44]
push ebx
push esi
push edi
sub edx, eax
push 0x41
mov dword [0x439098], edx
push 0x346f
xor ebx, ebx
call fcn.00410a30
mov dword [ebp - 0xc], eax
mov eax, dword [0x43edc0]
mov ecx, dword [0x441a28]
not eax
imul ecx, eax
push 4
mov dword [0x441a28], ecx
push 0x15d1
call fcn.00410a30
inc dword [0x442470]
dec dword [0x440784]
mov edx, dword [0x442470]
mov esi, eax
mov eax, dword [0x440784]
lea ecx, [eax + edx]
mov eax, dword [0x439be8]
xor eax, ecx
add dword [0x442150], eax
lea ecx, [ebp - 0x10]
push esi
push ecx
call fcn.0042a980
xor dword [0x4437ec], 0xb5c360f3
push 4
push 0x159f
call fcn.00410a30
push esi
mov dword [0x43b7e0], 0xdc808294
push 4
mov edi, eax
call fcn.00411070
or dword [0x44395c], 0x794f4d41
lea edx, [ebp - 0x14]
push edi
push edx
call fcn.0042a980
mov eax, dword [0x4456b4]
add eax, 0x53ec0d5f
or dword [0x43f710], eax
push 4
push 0x3469
call fcn.00410a30
mov esi, eax
movzx eax, word [0x44ae4a]
xor eax, 0x48bda9f4
push edi
mov word [0x44ae4a], ax
push 4
call fcn.00411070
or dword [0x444f30], 0xfbefefef
add esp, 0x40
lea ecx, [ebp - 0x18]
push esi
push ecx
call fcn.0042a980
or dword [0x43e750], 0x73393410
push esi
push 4
call fcn.00411070
mov edx, dword [0x4385e8]
add esp, 0x10
not edx
mov dword [0x43a970], edx
lea edi, [ebx + 1]
cmp dword [ebp + 0xc], ebx
je 0x429b5b
jmp 0x4296f0
mov eax, dword [ebp + 8]
sub dword [ebp + 0xc], edi
mov dword [0x43fdf0], 0x63ea32bb
add dword [0x438fe8], 0xa8a4dad2
mov cl, byte [eax]
mov dx, word [0x44967e]
mov byte [ebp + ebx - 4], cl
mov word [0x449668], dx
add word [0x44967e], di
add dword [0x441780], edi
mov eax, dword [0x441780]
add ebx, edi
cmp eax, 0x98d31393
je 0x429766
add dword [0x43e9dc], edi
mov ecx, dword [0x445bf0]
mov edx, dword [0x43e9dc]
mov eax, 0x337d8720
sub eax, ecx
add edx, eax
cmp edx, 0x9e0fedd7
jl 0x429766
xor dword [0x4478a4], 0x61c25826
add dword [ebp + 8], edi
or dword [0x43fae4], 0xe2ae88ff
cmp ebx, 3
jne 0x429b3f
mov eax, dword [0x43c0a0]
imul eax, eax, 0x9af14e00
cmp eax, 0xa9ce915a
jl 0x4297c0
mov cx, word [0x44e24c]
movsx edx, cx
or edx, 0x7ff77ffb
cmp edx, 0x62526b92
jg 0x4297d1
dec dword [0x43bfbc]
mov eax, dword [0x442064]
mov ecx, dword [0x43bfbc]
or eax, ecx
mov dword [0x442064], eax
jmp 0x4297d1
mov eax, dword [0x445fac]
imul eax, eax, 0x6132768a
add dword [0x446698], eax
movzx edx, byte [ebp - 4]
shr dl, 2
mov byte [ebp - 8], dl
or dword [0x43b79c], 0x25208508
mov ecx, dword [0x44067c]
movzx eax, byte [ebp - 4]
movzx edx, byte [ebp - 3]
and al, 3
shl al, 4
mov byte [ebp - 7], al
xor ecx, 0x7c6f4177
mov dword [0x438480], ecx
mov eax, dword [0x440300]
and eax, 0x538d58bb
shr dl, 4
add byte [ebp - 7], dl
or dword [0x4392f4], eax
movzx eax, byte [ebp - 3]
and al, 0xf
add al, al
add al, al
mov byte [ebp - 6], al
xor dword [0x43f5cc], 0x7e56ed11
mov cl, byte [ebp - 2]
shr cl, 6
add byte [ebp - 6], cl
add dword [0x43bc6c], 0x7fcd850
mov ax, word [0x449128]
movzx edx, byte [ebp - 2]
mov ecx, dword [0x439758]
cwde
imul eax, eax, 0x120b7a7
and dl, 0x3f
mov byte [ebp - 5], dl
movzx edx, word [0x448e74]
xor ecx, eax
add edx, ecx
mov word [0x448e74], dx
mov eax, dword [0x43ea1c]
xor esi, esi
imul eax, eax, 0x9b414e63
mov dword [0x43ea1c], eax
jmp 0x429890
or dword [0x43c32c], 0x83baada9
cmp byte [ebp + 0x10], 0
je 0x429a18
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x429a18
mov edx, dword [0x44323c]
sub edx, 0x61334212
cmp edx, 0xc11000
jle 0x4298dd
dec dword [0x438fd8]
mov eax, dword [0x438fd8]
or eax, 0xf9b9cc61
add dword [0x437660], eax
jmp 0x42990d
mov eax, dword [0x439034]
xor eax, 0x6dd6760b
cmp eax, 0x3c2402c0
jle 0x42990d
mov eax, dword [0x43cd2c]
mov edx, dword [0x43daa0]
imul eax, eax, 0x1342bc5d
and edx, eax
and edx, 0x9cc50dca
mov dword [0x43daa0], edx
cmp cl, 0x3e
jne 0x429959
mov ax, word [0x448f8a]
mov dx, word [0x44dc7e]
movsx ecx, ax
movsx eax, dx
and eax, ecx
movzx ecx, word [0x44f79e]
add ecx, eax
mov word [0x44f79e], cx
dec word [0x44dc7e]
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x10]
push edx
call fcn.0040c280
mov dword [0x440284], 0x9ad967cb
jmp 0x429a03
mov eax, dword [0x43f314]
sar eax, 0xa
xor eax, 0xa7913180
cmp eax, 0x8020c802
jl 0x4299bd
mov eax, dword [0x437d18]
mov cx, word [0x44d312]
movsx edx, cx
not eax
and eax, 0x20a08001
shl edx, 5
or eax, 0x1b433e7a
xor edx, 0x55757deb
cmp eax, edx
jg 0x4299b3
add dword [0x447718], edi
mov eax, dword [0x447718]
imul eax, eax, 0x2d1dc4cc
add eax, 0xadda4ec8
and dword [0x4402dc], eax
jmp 0x4299bd
xor dword [0x43aefc], 0xecff7700
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
call fcn.0040c280
mov cx, word [0x44af0e]
dec word [0x44af0e]
movsx edx, cx
cmp edx, 0x5123321a
jge 0x4299f7
movzx eax, word [0x44ef96]
imul eax, eax, 0xc0151b6
mov word [0x44ef96], ax
jmp 0x429a03
mov ecx, 0xffffc511
mov word [0x44c9bc], cx
mov eax, dword [0x437ce0]
xor eax, 0xe65179c3
or dword [0x43f264], eax
or ebx, 0xffffffff
jmp 0x429a8b
mov ecx, dword [ebp - 0xc]
or ebx, 0xffffffff
add dword [0x43e19c], ebx
mov edx, dword [0x43e19c]
mov eax, 0x23c235b8
sub eax, edx
add dword [0x444c60], eax
movzx eax, byte [ebp + esi - 8]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00429520
add word [0x450330], di
add word [0x44c994], bx
mov ax, word [0x44c994]
mov cx, word [0x450330]
cwde
imul eax, eax, 0x34cbf9a0
movsx edx, cx
xor edx, eax
cmp edx, 0xe964820
je 0x429a8b
movzx eax, word [0x44aea4]
imul eax, eax, 0x20001160
mov word [0x44aea4], ax
mov eax, dword [0x4399c0]
mov ecx, dword [0x441780]
add eax, 0xe17379b9
add ecx, eax
mov dword [0x4399c0], ecx
add word [0x44ff78], bx
add word [0x44fda0], bx
mov dx, word [0x44fda0]
mov cx, word [0x44ff78]
movsx eax, dx
movsx edx, cx
imul edx, eax
add esi, edi
cmp edx, 0x55d8501d
jg 0x429adc
or dword [0x43e6f8], 0xe82204c3
cmp esi, 4
jne 0x429890
xor dword [0x444cd4], 0xe16c0888
add word [0x44dbe4], di
mov ax, word [0x44dbe4]
movsx ecx, ax
xor ebx, ebx
cmp ecx, 0x7b0f0fef
jne 0x429b2f
add dword [0x438770], edi
mov edx, dword [0x438770]
or edx, 0x4d35e50c
cmp edx, 0x391d8976
jge 0x429b3f
add dword [0x4373b0], 0x9a37fe9d
jmp 0x429b3f
mov eax, dword [0x4474f8]
imul eax, eax, 0xec0a7518
mov dword [0x43e300], eax
mov ecx, dword [0x443938]
xor ecx, 0x5adf8c5f
cmp dword [ebp + 0xc], 0
mov dword [0x43fa54], ecx
jne 0x4296f0
movzx edx, word [0x44bba4]
sub edx, 0x57ff7947
mov word [0x44bba4], dx
test ebx, ebx
je 0x42a104
mov eax, dword [0x440c00]
add dword [0x440c00], edi
sub eax, 0x67473d23
cmp eax, 0xdace0858
jge 0x429b98
and dword [0x4434b8], 0x43d1d7f7
mov eax, dword [0x43cd00]
or eax, 0xbea42319
sub dword [0x43a054], eax
cmp ebx, 3
jge 0x429c49
mov esi, 3
sub esi, ebx
push esi
lea eax, [ebp + ebx - 4]
push 0
push eax
call fcn.00411540
add esp, 0xc
mov eax, 0xafe40c08
or ecx, 0xffffffff
movzx edx, word [0x44cbe6]
imul edx, edx, 0xe99744b0
mov word [0x44cbe6], dx
mov edx, dword [0x440434]
or edx, 0x69030421
cmp edx, 0x5139cbb8
jle 0x429c0e
movzx edx, word [0x44bfa4]
imul edx, edx, 0x82fc43e2
mov word [0x44bfa4], dx
jmp 0x429c14
add dword [0x443d84], eax
mov edx, dword [0x440398]
sar edx, 2
cmp edx, 0x7f7df4c2
jge 0x429c45
mov edx, dword [0x43c524]
add dword [0x43c524], ecx
add edx, 0x43c57425
cmp edx, 0x40e8da7b
jge 0x429c45
mov edx, dword [0x4477dc]
sub esi, edi
jne 0x429bd0
add dword [0x43a9f4], 0xce143ed5
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
xor dword [0x440ee4], 0x66f49c5d
movzx ecx, byte [ebp - 4]
and cl, 3
shl cl, 4
mov byte [ebp - 7], cl
add dword [0x4415b4], edi
mov eax, dword [0x444c90]
mov edx, dword [0x4415b4]
add eax, 0x9c6fdc51
add edx, eax
movzx eax, byte [ebp - 3]
mov dword [0x444c90], edx
shr al, 4
add byte [ebp - 7], al
or dword [0x43e4b8], 0xefb6ef7d
movzx ecx, byte [ebp - 3]
and cl, 0xf
add cl, cl
add cl, cl
mov byte [ebp - 6], cl
add dword [0x43cd54], 0xec7730a6
mov ax, word [0x448a74]
mov ecx, dword [0x442d94]
movzx edx, byte [ebp - 2]
cwde
not eax
xor eax, 0x48d1b64a
imul ecx, eax
shr dl, 6
add byte [ebp - 6], dl
movzx edx, byte [ebp - 2]
mov dword [0x442d94], ecx
and dl, 0x3f
mov byte [ebp - 5], dl
mov dword [0x440120], 0x900c4001
mov eax, dword [0x43ac28]
imul eax, eax, 0x8845ac60
mov dword [0x43ac28], eax
add dword [0x43b154], 0xb596b305
xor esi, esi
test ebx, ebx
jl 0x429f73
lea ecx, [ecx]
mov ecx, dword [0x4388c4]
imul ecx, ecx, 0xefb4636f
cmp byte [ebp + 0x10], 0
mov dword [0x4388c4], ecx
je 0x429e8b
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x429e8b
add dword [0x442700], edi
mov eax, dword [0x442700]
mov ecx, dword [0x439c08]
add ecx, eax
mov eax, dword [0x43dab0]
and eax, ecx
mov ecx, dword [0x438048]
add dword [0x439c08], edi
shl ecx, 5
cmp eax, ecx
jge 0x429d96
mov ax, word [0x449310]
mov ecx, dword [0x447000]
cwde
lea eax, [ecx + eax + 0x3a08fe39]
mov dword [0x447000], eax
add word [0x449310], di
cmp dl, 0x3e
jne 0x429dd5
mov eax, dword [0x4470f0]
lea ecx, [ebp - 0x10]
shl eax, 6
xor dword [0x43d258], eax
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0040c280
add dword [0x442310], edi
mov eax, dword [0x442310]
and eax, 0xf20104
or eax, 0xfe0dde29
xor dword [0x444b10], eax
jmp 0x429e6f
mov dx, word [0x44b43a]
add word [0x44b43a], di
movsx eax, dx
sub eax, 0x6459c649
cmp eax, 0x90d24102
jge 0x429e46
dec dword [0x4461b8]
mov eax, dword [0x4461b8]
mov cx, word [0x44ca52]
movsx edx, cx
add eax, 0x4dabd7d5
xor edx, eax
cmp edx, 0x8170a6a4
jl 0x429e34
mov eax, dword [0x444778]
mov ecx, dword [0x4421e4]
mov edx, dword [0x43c3a0]
xor eax, ecx
imul edx, eax
mov dword [0x43c3a0], edx
jmp 0x429e46
movzx eax, word [0x449df4]
xor eax, 0x4b13745a
mov word [0x449df4], ax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0040c280
mov dx, word [0x44d59e]
movsx ecx, dx
imul ecx, ecx, 0x41353a30
mov eax, 0x7ead0b36
sub eax, ecx
or dword [0x43ff9c], eax
mov eax, dword [0x445360]
imul eax, eax, 0x4c76b520
sub dword [0x43b324], eax
add dword [0x445360], edi
jmp 0x429f19
mov dx, word [0x44ade4]
movzx ecx, byte [ebp + esi - 8]
movsx eax, dx
mov edx, dword [ebp - 0xc]
or eax, 0xf88b3c29
mov dword [0x438be0], eax
movzx eax, byte [ecx + edx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00429520
mov eax, dword [0x442304]
mov cx, word [0x448e3e]
movsx edx, cx
add eax, eax
xor edx, eax
cmp edx, 0x5bfef7ee
jne 0x429ef3
mov eax, dword [0x443cd4]
cmp eax, 0x7ab3fbdd
jle 0x429ee7
mov dword [0x43b084], 0x45d5d529
jmp 0x429f19
or dword [0x43ba80], 0xe707b6ba
jmp 0x429f19
mov eax, dword [0x43c960]
movzx ecx, word [0x44da38]
imul eax, eax, 0x72d65314
and eax, 0xab17da95
or ecx, eax
mov word [0x44da38], cx
add dword [0x43c960], edi
mov edx, dword [0x43fda8]
cmp edx, 0x339f390f
jl 0x429f33
add dword [0x43dc44], 0xb64df730
jmp 0x429f4b
mov ax, word [0x44da64]
mov ecx, dword [0x4473d0]
cwde
not ecx
xor ecx, eax
mov word [0x44da64], cx
movzx edx, word [0x44f1a8]
imul edx, edx, 0x49d83a74
add esi, edi
mov word [0x44f1a8], dx
add dword [0x43b154], 0xb596b305
cmp esi, ebx
jle 0x429d20
mov eax, dword [0x439154]
movzx ecx, word [0x448314]
imul eax, eax, 0x84820970
and eax, 0xd2e5d864
sub ecx, eax
mov word [0x448314], cx
dec dword [0x439154]
cmp ebx, 3
jge 0x42a0a5
mov esi, 3
sub esi, ebx
mov ebx, 0x2883e028
mov edi, edi
mov ecx, dword [0x43afac]
mov dx, word [0x447e76]
movsx eax, dx
not ecx
and eax, ecx
or eax, 0xe50b8adc
add dword [0x43b8e8], eax
movzx eax, word [0x44977e]
xor eax, 0x1e1c0600
cmp byte [ebp + 0x10], 0
mov word [0x44977e], ax
je 0x42a028
mov cx, word [0x44cfb4]
add word [0x44cfb4], di
movsx edx, cx
cmp edx, 0x8cd7a742
jle 0x42a006
add dword [0x4478bc], ebx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.0040c280
movzx ecx, word [0x44ba90]
xor ecx, 0x5c0aa304
mov word [0x44ba90], cx
jmp 0x42a068
mov eax, dword [0x438a9c]
mov edx, dword [0x43af84]
mov ecx, dword [ebp + 0x14]
xor eax, 0xf16db00
imul edx, eax
mov dword [0x43af84], edx
push 0x3d
call fcn.00429520
mov eax, dword [0x440690]
movzx ecx, word [0x44c6f6]
not eax
add eax, 0xd2a90524
imul ecx, eax
mov word [0x44c6f6], cx
mov dx, word [0x448e50]
mov ecx, dword [0x43ff94]
movsx eax, dx
imul eax, eax, 0xfa22d95f
or ecx, eax
mov eax, dword [0x441390]
cmp eax, ecx
jl 0x42a09d
movzx ecx, word [0x44aa96]
or ecx, 0x6b28ba21
mov word [0x44aa96], cx
sub esi, edi
jne 0x429fb0
mov edx, dword [0x43af5c]
cmp edx, 0xdd6f7764
je 0x42a0cc
mov ax, word [0x44e6ee]
movzx ecx, word [0x44e546]
cwde
or ecx, eax
mov word [0x44e6ee], cx
jmp 0x42a104
dec dword [0x439d44]
mov eax, dword [0x439d44]
mov edx, dword [0x43b4c0]
add eax, 0xc71d0f4e
add edx, eax
cmp edx, 0x2a12ac9
jge 0x42a104
mov eax, dword [0x441018]
mov ecx, dword [0x438594]
sub eax, ecx
mov dword [0x441018], eax
add dword [0x438594], edi
mov edx, dword [0x439694]
and edx, 0xc002531c
add edx, edx
cmp edx, 0xd76b4440
jg 0x42a147
mov eax, dword [0x446b2c]
or eax, 0xfef96a16
cmp eax, 0x87f569da
jge 0x42a141
movzx ecx, word [0x450398]
imul ecx, ecx, 0x2bdfcb9a
mov word [0x450398], cx
jmp 0x42a147
mov edx, dword [0x4382b8]
mov eax, dword [ebp - 0xc]
push eax
push 0x41
call fcn.00411070
push 4
lea edx, [ebp - 0x10]
mov ecx, 0xffffee0c
push 0
mov word [0x44b5fe], cx
push edx
call fcn.00411540
add dword [0x439a2c], 0xc747f004
push 4
lea eax, [ebp - 0x14]
push 0
push eax
call fcn.00411540
mov cx, word [0x44f438]
movzx edx, word [0x44c54a]
movsx eax, cx
add eax, eax
add eax, eax
xor edx, eax
push 4
lea eax, [ebp - 0x18]
push 0
mov word [0x44c54a], dx
push eax
call fcn.00411540
mov eax, dword [0x445074]
mov ecx, dword [0x44351c]
movzx edx, word [0x44d6fa]
and eax, ecx
movsx ecx, dx
or ecx, eax
add esp, 0x2c
cmp ecx, 0xbd5b5e7e
jl 0x42a1fd
add word [0x44f3e0], di
mov dx, word [0x44f3e0]
mov ecx, dword [0x43cdf0]
movsx eax, dx
or eax, 0x80a91066
imul ecx, eax
pop edi
pop esi
mov dword [0x43cdf0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x43e844]
sar edx, 8
pop edi
mov eax, 0xd5b08327
sub eax, edx
xor dword [0x44305c], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret