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

Disassembly:
sub esp, 0xb8
push ebx
push ebp
push esi
push edi
push dword [esp + 0xd0]
push dword [esp + 0xd0]
push edx
push ecx
call fcn.00127212
mov dword [esp + 0x40], 0xf6d5
add esp, 0x10
imul eax, dword [esp + 0x30], 0x1d
xor edx, edx
xor ebp, ebp
mov esi, 0x331702b
mov ebx, ebp
push 0x6d
pop ecx
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0xffff4285
imul eax, dword [esp + 0x30], 0x74
push 0x51
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0xc55a6e9
mov dword [esp + 0x2c], 0xaa69
or dword [esp + 0x2c], 0x904fac8f
mov eax, dword [esp + 0x2c]
div ecx
xor edx, edx
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x2c], 0x2f
pop ecx
push 0x46
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x3e39beb5
mov dword [esp + 0x98], 0x3b36
shr dword [esp + 0x98], 5
xor dword [esp + 0x98], 0x5b10
mov dword [esp + 0x70], 0x1426
mov eax, dword [esp + 0x70]
div ecx
xor edx, edx
mov dword [esp + 0x70], eax
or dword [esp + 0x70], 0xd1f8cb5d
xor dword [esp + 0x70], 0xd1f8fdde
mov dword [esp + 0x78], 0x2460
mov eax, dword [esp + 0x78]
pop ecx
div ecx
push 0x48
mov dword [esp + 0x78], eax
xor edx, edx
add dword [esp + 0x78], 0xffffe2d0
xor dword [esp + 0x78], 0xffffc3dd
mov dword [esp + 0x44], 0xfe35
or dword [esp + 0x44], 0x6b2f53de
imul eax, dword [esp + 0x44], 0x77
pop ecx
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 0x10
xor dword [esp + 0x40], 0xe4a3
mov dword [esp + 0x38], 0x305
imul eax, dword [esp + 0x38], 0x15
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x6b0132df
add dword [esp + 0x38], 0xdcc6
xor dword [esp + 0x38], 0x6b01e9f3
mov dword [esp + 0x9c], 0xfcec
mov eax, dword [esp + 0x9c]
div ecx
mov dword [esp + 0x9c], eax
xor dword [esp + 0x9c], 0x36dc
mov dword [esp + 0x58], 0x451b
shl dword [esp + 0x58], 0xa
shl dword [esp + 0x58], 2
xor dword [esp + 0x58], 0x451fd62
mov dword [esp + 0x1c], 0x35d
imul eax, dword [esp + 0x1c], 0x3e
mov dword [esp + 0x1c], eax
or dword [esp + 0x1c], 0xbbf0482f
add dword [esp + 0x1c], 0x5b22
xor dword [esp + 0x1c], 0xbbf1240c
xor edx, edx
mov dword [esp + 0x34], 0x7390
or dword [esp + 0x34], 0x1deacb1b
xor dword [esp + 0x34], 0x6062d779
mov eax, dword [esp + 0x34]
push 0x3f
pop ecx
div ecx
push 0x4c
mov dword [esp + 0x38], eax
xor edx, edx
xor dword [esp + 0x38], 0x1fe728f
mov dword [esp + 0xac], 0x5046
add dword [esp + 0xac], 0xb862
xor dword [esp + 0xac], 0x10fcf
mov dword [esp + 0x8c], 0xa687
shr dword [esp + 0x8c], 6
xor dword [esp + 0x8c], 0x6a49
mov dword [esp + 0x94], 0xcb0e
shr dword [esp + 0x94], 0xf
xor dword [esp + 0x94], 0x3d0
mov dword [esp + 0x18], 0x8b24
shr dword [esp + 0x18], 5
shl dword [esp + 0x18], 0xf
imul eax, dword [esp + 0x18], 0x62
pop ecx
push 0x2e
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xd50924e4
mov dword [esp + 0x7c], 0x5ae6
mov eax, dword [esp + 0x7c]
div ecx
xor edx, edx
mov dword [esp + 0x7c], eax
or dword [esp + 0x7c], 0x48765557
xor dword [esp + 0x7c], 0x48761d46
mov dword [esp + 0x84], 0xa47a
imul eax, dword [esp + 0x84], 0x39
pop ecx
push 0x21
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x249b41
mov dword [esp + 0x64], 0xba20
shl dword [esp + 0x64], 0xe
add dword [esp + 0x64], 0xffffd630
xor dword [esp + 0x64], 0x2e87cec7
mov dword [esp + 0x48], 0xd13b
imul eax, dword [esp + 0x48], 0x12
mov dword [esp + 0x48], eax
add dword [esp + 0x48], 0xc30b
add dword [esp + 0x48], 0x94a6
xor dword [esp + 0x48], 0x1073ee
mov dword [esp + 0xb8], 0xfdfe
shr dword [esp + 0xb8], 0xa
xor dword [esp + 0xb8], 0x35bb
mov dword [esp + 0xbc], 0x164
mov eax, dword [esp + 0xbc]
div ecx
xor edx, edx
mov dword [esp + 0xbc], eax
xor dword [esp + 0xbc], 0x65d4
mov dword [esp + 0xa4], 0x5380
add dword [esp + 0xa4], 0xac53
xor dword [esp + 0xa4], 0xbaa2
mov dword [esp + 0xb4], 0x5c21
mov eax, dword [esp + 0xb4]
pop ecx
div ecx
mov dword [esp + 0xb0], eax
xor dword [esp + 0xb0], 0x3a0a
mov dword [esp + 0x24], 0xfba8
xor dword [esp + 0x24], 0xf36b6031
add dword [esp + 0x24], 0x8359
or dword [esp + 0x24], 0xa91830f0
xor dword [esp + 0x24], 0xfb7c7d1d
mov dword [esp + 0x4c], 0x11b1
xor dword [esp + 0x4c], 0x5c0b56e9
or dword [esp + 0x4c], 0x7cd17871
xor edx, edx
mov eax, dword [esp + 0x4c]
push 0x3d
pop ecx
div ecx
push 0x23
mov dword [esp + 0x50], eax
xor edx, edx
xor dword [esp + 0x50], 0x20bce15
mov dword [esp + 0x30], 0x1f83
shr dword [esp + 0x30], 3
shr dword [esp + 0x30], 0xc
shr dword [esp + 0x30], 1
xor dword [esp + 0x30], 0x1cd7
mov dword [esp + 0x6c], 0x906
imul eax, dword [esp + 0x6c], 0x73
pop ecx
push 0x49
mov dword [esp + 0x6c], eax
imul eax, dword [esp + 0x6c], 0x12
mov dword [esp + 0x6c], eax
xor dword [esp + 0x6c], 0x48d856
mov dword [esp + 0x40], 0x1d04
add dword [esp + 0x40], 0x3ac3
or dword [esp + 0x40], 0x3edee31b
xor dword [esp + 0x40], 0xa77ff852
xor dword [esp + 0x40], 0x99a1597a
mov dword [esp + 0x24], 0x806e
add dword [esp + 0x24], 0x9508
add dword [esp + 0x24], 0xdc16
shl dword [esp + 0x24], 0xd
xor dword [esp + 0x24], 0x3e31ebd7
mov dword [esp + 0x1c], 0xc171
or dword [esp + 0x1c], 0xe43c886f
imul eax, dword [esp + 0x1c], 0x55
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0x2b7f
xor dword [esp + 0x1c], 0xc82f15e2
mov dword [esp + 0x88], 0x889a
add dword [esp + 0x88], 0x793f
xor dword [esp + 0x88], 0x119d9
mov dword [esp + 0x14], 0xc6fa
xor dword [esp + 0x14], 0x4cde6a71
or dword [esp + 0x14], 0xffd5de96
xor dword [esp + 0x14], 0xffdf9256
mov dword [esp + 0x68], 0x5667
or dword [esp + 0x68], 0x5b533afc
add dword [esp + 0x68], 0xffff9fcf
xor dword [esp + 0x68], 0x5b5303e3
mov dword [esp + 0x90], 0x9d9a
shl dword [esp + 0x90], 5
xor dword [esp + 0x90], 0x13b45c
mov dword [esp + 0x60], 0x4d91
imul eax, dword [esp + 0x60], 0x5c
mov dword [esp + 0x60], eax
add dword [esp + 0x60], 0xffff10f9
xor dword [esp + 0x60], 0x1a8160
mov dword [esp + 0xb0], 0xd786
add dword [esp + 0xb0], 0xffff2e63
xor dword [esp + 0xb0], 0x57bb
mov dword [esp + 0xa8], 0x16e4
mov eax, dword [esp + 0xa8]
div ecx
xor edx, edx
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x514f
mov dword [esp + 0x80], 0x8136
shl dword [esp + 0x80], 5
add dword [esp + 0x80], 0x6238
xor dword [esp + 0x80], 0x10898e
mov dword [esp + 0x74], 0xebdb
add dword [esp + 0x74], 0xffffce1d
mov eax, dword [esp + 0x74]
pop ecx
div ecx
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0x28d
mov dword [esp + 0x54], 0xa8c4
or dword [esp + 0x54], 0xccfbef57
xor dword [esp + 0x54], 0xccfbefd6
mov dword [esp + 0x98], 0xfdda
add dword [esp + 0x98], 0xdb9e
xor dword [esp + 0x98], 0x1d979
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov edx, 0x1a1bc669
cmp esi, edx
jg 0x1268fb
je 0x1268ca
cmp esi, 0x331702b
je 0x1268c0
cmp esi, 0x3603363
je 0x1268a8
mov eax, 0x8fc767c
cmp esi, eax
je 0x126844
cmp esi, 0xa21c075
je 0x1267ff
cmp esi, 0x172ca4dd
jne 0x1269de
push ecx
push dword [esp + 0x18]
lea eax, [esp + 0xc4]
push dword [esp + 0x98]
push dword [esp + 0x94]
push ecx
push dword [esp + 0xe4]
push ecx
push ecx
push dword [esp + 0xc8]
push ecx
push dword [esp + 0x5c]
lea ecx, [esp + 0xec]
push ebx
push eax
push dword [esp + 0x50]
push dword [esp + 0x90]
call fcn.0012042f
add esp, 0x3c
test eax, eax
je 0x1268f1
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x78]
call 0x1104cf
and eax, 0x1f
mov esi, 0xa21c075
imul edi, eax, 0x2c
imul eax, dword [esp + 0xbc], 0x2c
add edi, ebx
add eax, ebx
cmp edi, eax
mov dword [esp + 0x50], eax
cmovae edi, ebx
jmp 0x126722
push dword [esp + 0xb4]
push dword [esp + 0xd4]
push dword [esp + 0x4c]
mov edx, dword [esp + 0xa4]
push dword [edi]
mov ecx, dword [esp + 0x70]
call fcn.0011b479
mov ecx, eax
add esp, 0x10
test ecx, ecx
mov dword [esp + 0x48], ecx
mov eax, 0x8fc767c
mov esi, 0x3603363
cmovne esi, eax
mov eax, dword [esp + 0x50]
jmp 0x126726
push dword [esp + 0x24]
lea eax, [esp + 0xc8]
push dword [esp + 0xb4]
push ecx
push eax
push dword [esp + 0xb0]
push dword [esp + 0x84]
mov edx, dword [esp + 0xd0]
push ecx
mov ecx, ebp
call fcn.00126e12
push dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
test eax, eax
push dword [esp + 0x88]
mov eax, 0x1a1bc669
mov esi, 0x3603363
push dword [esp + 0x50]
mov edx, dword [esp + 0x74]
cmovne esi, eax
call fcn.001169d7
add esp, 0x28
jmp 0x1269d9
add edi, 0x2c
cmp edi, eax
sbb esi, esi
and esi, 0xd1b8faf7
add esi, 0x3868c57e
jmp 0x12672b
mov esi, 0x29dc463f
jmp 0x12672b
push dword [esp + 0xcc]
push ebp
push dword [esp + 0x18]
push dword [esp + 0x90]
push dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
call fcn.0011a8c7
add esp, 0x14
mov esi, 0x3868c57e
jmp 0x12671e
cmp esi, 0x29b4838f
je 0x12699e
cmp esi, 0x29dc463f
je 0x12696b
cmp esi, 0x3868c57e
je 0x126949
cmp esi, 0x3b384d28
jne 0x1269de
push dword [esp + 0x7c]
mov ecx, ebx
push dword [esp + 0xa8]
mov edx, dword [esp + 0xb4]
call fcn.0011c8e0
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
push dword [esp + 0x5c]
mov ecx, ebp
push dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
call fcn.0011c8e0
pop ecx
pop ecx
mov esi, 0x3b384d28
jmp 0x12671e
mov eax, dword [esp + 0x6c]
sub esp, 0xc
mov eax, dword [esp + 0xa0]
mov edx, 0x20000
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
call fcn.00127368
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x12693e
mov esi, 0x29b4838f
jmp 0x12671e
mov eax, dword [esp + 0x9c]
sub esp, 0xc
mov eax, dword [esp + 0x44]
mov edx, 0x2000
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x80]
call fcn.00127368
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1269d4
mov esi, 0x172ca4dd
jmp 0x12671e
mov esi, 0x3b384d28
mov edx, 0x1a1bc669
cmp esi, 0x32ee8b9d
je 0x12693e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
jmp 0x12672b