Function at 0x5370af
Capabilities:
Decode data using base64 via dword translation table

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x50], ecx
mov ecx, 0xaaaaaaab
mov dword [ebp - 0x1c], edx
lea eax, [ebx*4]
mul ecx
call 0x5370d4
pop eax
mov ecx, edx
xor edx, edx
mov dword [ebp - 0x4c], eax
shr ecx, 1
call fcn.00480164
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov eax, ebx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], 0
add eax, 7
jb 0x537e0f
mov esi, eax
shr esi, 3
cmp eax, 7
lea ecx, [esi + esi]
lea edx, [ecx + ecx*2]
ja 0x537113
mov dword [ebp - 0x40], edx
jmp 0x537125
lea edi, [ebp - 0x48]
mov ecx, edi
call fcn.00461408
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov dword [ebp - 0x38], eax
mov ecx, ebx
and ecx, 7
cmp ecx, 5
ja 0x53714e
mov ecx, dword [ecx*4 + 0x537ec8]
mov edi, dword [ebp - 0x4c]
mov bl, 1
mov eax, esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
add ecx, edi
jmp ecx
mov dword [ebp - 0x28], esi
jmp 0x53716c
mov edi, ebx
mov dword [ebp - 0x18], edx
sub edi, ecx
mov ecx, 0
cmovb edi, ecx
cmp edi, 0x20
jb 0x53764c
mov esi, dword [ebp - 0x1c]
lea eax, [edi - 0x20]
xor ecx, ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], eax
add esi, 0x1f
cmp dword [ebp - 0x10], 0xffffffe0
je 0x537e56
mov eax, dword [ebp - 0x10]
add eax, 0x20
cmp eax, ebx
mov dword [ebp - 0x24], eax
ja 0x537e64
mov dword [ebp - 0x14], ecx
add ecx, 0x1a
cmp ecx, edx
ja 0x537e73
mov eax, dword [ebp - 0x10]
movzx ebx, byte [esi + eax - 0x1f]
mov cl, byte [ebx + 0x547f38]
cmp cl, 0xff
je 0x537c1e
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax - 0x1e]
mov bl, byte [eax + 0x547f38]
cmp bl, 0xff
je 0x537b73
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax - 0x1d]
mov ch, byte [eax + 0x547f38]
cmp ch, 0xff
je 0x537abc
mov eax, dword [ebp - 0x10]
movzx edx, byte [esi + eax - 0x1c]
mov ah, byte [edx + 0x547f38]
cmp ah, 0xff
je 0x537b78
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x1b]
mov bh, byte [edx + 0x547f38]
cmp bh, 0xff
je 0x537b7d
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x1a]
mov al, byte [edx + 0x547f38]
cmp al, 0xff
je 0x537b0e
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x20], bh
mov bh, cl
movzx edx, byte [esi + edx - 0x19]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
mov byte [ebp - 0x2c], cl
je 0x537b17
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x18]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
je 0x537b20
movzx edi, bl
movzx edx, bh
mov ebx, ecx
shl edi, 0x14
shl edx, 0x1a
or edx, edi
movzx edi, ch
movzx ecx, ah
movzx eax, al
shl edi, 0xe
shl ecx, 8
or ecx, edi
mov edi, eax
shr eax, 4
or ecx, edx
movzx edx, byte [ebp - 0x20]
shl edi, 0x1c
shl edx, 2
or eax, edx
movzx edx, bl
or eax, ecx
movzx ecx, byte [ebp - 0x2c]
shl edx, 0x10
bswap eax
shl ecx, 0x16
or ecx, edi
mov edi, dword [ebp - 0x14]
or edx, ecx
mov ecx, dword [ebp - 0x38]
bswap edx
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + edi + 4], edx
movzx ebx, byte [esi + eax - 0x17]
mov cl, byte [ebx + 0x547f38]
cmp cl, 0xff
je 0x537b82
mov eax, dword [ebp - 0x10]
movzx ebx, byte [esi + eax - 0x16]
mov al, byte [ebx + 0x547f38]
cmp al, 0xff
je 0x537b8b
mov edx, dword [ebp - 0x10]
movzx ebx, byte [esi + edx - 0x15]
mov ch, byte [ebx + 0x547f38]
cmp ch, 0xff
je 0x537b94
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x14]
mov bh, byte [edx + 0x547f38]
cmp bh, 0xff
je 0x537b9d
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x13]
mov ah, byte [edx + 0x547f38]
cmp ah, 0xff
je 0x537bb1
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x12]
mov bl, byte [edx + 0x547f38]
cmp bl, 0xff
je 0x537bba
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x20], ah
mov ah, cl
movzx edx, byte [esi + edx - 0x11]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
mov byte [ebp - 0x2c], cl
je 0x537bc9
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0x10]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
je 0x537bd8
movzx edi, al
movzx edx, ah
mov byte [ebp - 0x34], cl
movzx eax, bl
shl edi, 0x14
shl edx, 0x1a
or edx, edi
movzx edi, ch
movzx ecx, bh
shl edi, 0xe
shl ecx, 8
or ecx, edi
mov edi, eax
shr eax, 4
or ecx, edx
movzx edx, byte [ebp - 0x20]
shl edi, 0x1c
shl edx, 2
or eax, edx
movzx edx, byte [ebp - 0x34]
or eax, ecx
movzx ecx, byte [ebp - 0x2c]
bswap eax
shl edx, 0x10
shl ecx, 0x16
or ecx, edi
mov edi, dword [ebp - 0x14]
or edx, ecx
mov ecx, dword [ebp - 0x38]
bswap edx
mov dword [ecx + edi + 6], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + edi + 0xa], edx
movzx ebx, byte [esi + eax - 0xf]
mov cl, byte [ebx + 0x547f38]
cmp cl, 0xff
je 0x537bde
mov eax, dword [ebp - 0x10]
movzx ebx, byte [esi + eax - 0xe]
mov al, byte [ebx + 0x547f38]
cmp al, 0xff
je 0x537be4
mov edx, dword [ebp - 0x10]
movzx ebx, byte [esi + edx - 0xd]
mov ch, byte [ebx + 0x547f38]
cmp ch, 0xff
je 0x537bea
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0xc]
mov bh, byte [edx + 0x547f38]
cmp bh, 0xff
je 0x537bf0
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0xb]
mov ah, byte [edx + 0x547f38]
cmp ah, 0xff
je 0x537bf6
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 0xa]
mov bl, byte [edx + 0x547f38]
cmp bl, 0xff
je 0x537bfc
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x20], ah
mov ah, cl
movzx edx, byte [esi + edx - 9]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
mov byte [ebp - 0x2c], cl
je 0x537c02
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 8]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
je 0x537c08
movzx edi, al
movzx edx, ah
mov byte [ebp - 0x34], cl
movzx eax, bl
shl edi, 0x14
shl edx, 0x1a
or edx, edi
movzx edi, ch
movzx ecx, bh
shl edi, 0xe
shl ecx, 8
or ecx, edi
mov edi, eax
shr eax, 4
or ecx, edx
movzx edx, byte [ebp - 0x20]
shl edi, 0x1c
shl edx, 2
or eax, edx
movzx edx, byte [ebp - 0x34]
or eax, ecx
movzx ecx, byte [ebp - 0x2c]
bswap eax
shl edx, 0x10
shl ecx, 0x16
or ecx, edi
mov edi, dword [ebp - 0x14]
or edx, ecx
mov ecx, dword [ebp - 0x38]
bswap edx
mov dword [ecx + edi + 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + edi + 0x10], edx
movzx ebx, byte [esi + eax - 7]
mov cl, byte [ebx + 0x547f38]
cmp cl, 0xff
je 0x537c0e
mov eax, dword [ebp - 0x10]
movzx ebx, byte [esi + eax - 6]
mov al, byte [ebx + 0x547f38]
cmp al, 0xff
je 0x537c14
mov edx, dword [ebp - 0x10]
movzx ebx, byte [esi + edx - 5]
mov ch, byte [ebx + 0x547f38]
cmp ch, 0xff
je 0x537c1a
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 4]
mov bh, byte [edx + 0x547f38]
cmp bh, 0xff
je 0x537c23
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 3]
mov ah, byte [edx + 0x547f38]
cmp ah, 0xff
je 0x537c29
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx - 2]
mov bl, byte [edx + 0x547f38]
cmp bl, 0xff
je 0x537c2f
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x20], ah
mov ah, cl
movzx edx, byte [esi + edx - 1]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
mov byte [ebp - 0x2c], cl
je 0x537c35
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
je 0x537c3b
movzx edi, al
movzx edx, ah
mov byte [ebp - 0x10], cl
movzx eax, bl
add dword [ebp - 0x28], 0xfffffffc
shl edi, 0x14
shl edx, 0x1a
or edx, edi
movzx edi, ch
movzx ecx, bh
mov ebx, dword [ebp + 8]
shl edi, 0xe
shl ecx, 8
or ecx, edi
mov edi, eax
shr eax, 4
or ecx, edx
movzx edx, byte [ebp - 0x20]
shl edi, 0x1c
shl edx, 2
or eax, edx
movzx edx, byte [ebp - 0x10]
or eax, ecx
movzx ecx, byte [ebp - 0x2c]
bswap eax
shl edx, 0x10
shl ecx, 0x16
or ecx, edi
mov edi, dword [ebp - 0x14]
or edx, ecx
mov ecx, dword [ebp - 0x38]
bswap edx
mov dword [ecx + edi + 0x16], edx
mov edx, dword [ebp - 0x24]
mov dword [ecx + edi + 0x12], eax
mov ecx, edi
mov edi, dword [ebp - 0x30]
add ecx, 0x18
cmp edx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x18]
jbe 0x53719c
jmp 0x537653
mov dword [ebp - 0x24], 0
cmp edi, 8
jb 0x5377c2
add edi, 0xfffffff8
cmp dword [ebp - 0x24], edi
jae 0x5377c2
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], edi
cmp eax, 0xfffffff8
mov dword [ebp - 0x14], ecx
je 0x537e25
mov esi, dword [ebp - 0x1c]
lea ecx, [eax + 8]
mov edi, eax
cmp ecx, ebx
mov eax, ecx
mov dword [ebp - 0x10], ecx
ja 0x537e36
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + 8]
cmp ecx, 0xfffffff7
ja 0x537e44
cmp eax, edx
ja 0x537e4d
movzx ebx, byte [esi + edi]
mov al, byte [ebx + 0x547f38]
cmp al, 0xff
je 0x537b29
movzx ebx, byte [esi + edi + 1]
mov ah, byte [ebx + 0x547f38]
cmp ah, 0xff
je 0x537b2e
movzx ebx, byte [esi + edi + 2]
mov cl, byte [ebx + 0x547f38]
cmp cl, 0xff
je 0x537b36
movzx edx, byte [esi + edi + 3]
mov bh, byte [edx + 0x547f38]
cmp bh, 0xff
je 0x537b3e
movzx edx, byte [esi + edi + 4]
mov ch, byte [edx + 0x547f38]
cmp ch, 0xff
je 0x537b46
movzx edx, byte [esi + edi + 5]
mov bl, byte [edx + 0x547f38]
cmp bl, 0xff
je 0x537b4e
movzx edx, byte [esi + edi + 6]
mov byte [ebp - 0x2c], ch
mov ch, al
mov al, byte [edx + 0x547f38]
cmp al, 0xff
mov byte [ebp - 0x24], al
je 0x537b56
movzx edx, byte [esi + edi + 7]
mov al, byte [edx + 0x547f38]
cmp al, 0xff
je 0x537b5e
movzx edx, ah
mov byte [ebp - 0x20], al
movzx eax, ch
movzx esi, cl
movzx ecx, byte [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
dec dword [ebp - 0x28]
shl edx, 0x14
shl eax, 0x1a
shl esi, 0xe
or eax, edx
movzx edx, bh
shl edx, 8
or edx, esi
shl ecx, 2
or edx, eax
movzx eax, bl
mov ebx, dword [ebp + 8]
mov esi, eax
shr eax, 4
or eax, ecx
movzx ecx, byte [ebp - 0x24]
shl esi, 0x1c
or eax, edx
movzx edx, byte [ebp - 0x20]
bswap eax
shl ecx, 0x16
or ecx, esi
shl edx, 0x10
mov esi, dword [ebp - 0x14]
or edx, ecx
mov ecx, dword [ebp - 0x38]
bswap edx
mov dword [ecx + esi], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + esi + 4], edx
mov edx, dword [ebp - 0x18]
mov ecx, esi
add ecx, 6
cmp eax, edi
jb 0x53766e
jmp 0x5377c8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
cmp eax, 2
jb 0x5379a4
mov esi, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x28], eax
neg esi
cmp dword [ebp - 0x10], ebx
ja 0x537e7a
mov eax, dword [ebp - 0x1c]
cmp ecx, 0xfffffff9
ja 0x537e86
lea edi, [ecx + 6]
cmp edi, edx
ja 0x537e98
cmp ebx, dword [ebp - 0x10]
je 0x537d8a
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
movzx ebx, byte [eax + ecx]
mov dl, byte [ebx + 0x547f38]
cmp dl, 0xff
je 0x537c1e
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], esi
add esi, eax
cmp esi, 2
jb 0x537d95
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
movzx ebx, byte [ecx + eax + 1]
mov dh, byte [ebx + 0x547f38]
cmp dh, 0xff
je 0x537ba6
cmp esi, 3
jb 0x537da1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
movzx eax, byte [ecx + eax + 2]
mov bl, byte [eax + 0x547f38]
cmp bl, 0xff
je 0x537abc
cmp esi, 4
jb 0x537db2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
movzx eax, byte [eax + ecx + 3]
mov bh, byte [eax + 0x547f38]
cmp bh, 0xff
je 0x537bc0
cmp esi, 5
jb 0x537dc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx + 4]
mov ah, byte [ecx + 0x547f38]
cmp ah, 0xff
je 0x537bcf
cmp esi, 6
jb 0x537dd4
mov byte [ebp - 0x30], bh
mov byte [ebp - 0x20], bl
mov bh, dh
mov bl, dl
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ecx + edx + 5]
mov ch, byte [edx + 0x547f38]
cmp ch, 0xff
je 0x537b0e
cmp esi, 7
jb 0x537de5
mov dword [ebp - 0x2c], edi
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
movzx edx, byte [edx + edi + 6]
mov cl, byte [edx + 0x547f38]
cmp cl, 0xff
je 0x537b17
cmp esi, 8
jb 0x537df6
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx + 7]
mov al, byte [edx + 0x547f38]
cmp al, 0xff
je 0x537b20
movzx edx, bl
movzx esi, bh
movzx edi, ah
movzx eax, al
mov ebx, dword [ebp + 8]
shl edx, 0x1a
shl esi, 0x14
shl edi, 2
shl eax, 0x10
or esi, edx
movzx edx, byte [ebp - 0x20]
shl edx, 0xe
or edx, esi
movzx esi, byte [ebp - 0x30]
shl esi, 8
or esi, edx
movzx edx, ch
movzx ecx, cl
or edi, esi
mov esi, edx
shl ecx, 0x16
shr edx, 4
shl esi, 0x1c
or edx, edi
mov edi, dword [ebp - 0x10]
or ecx, esi
mov esi, dword [ebp - 0x14]
bswap edx
or eax, ecx
mov ecx, dword [ebp - 0x38]
bswap eax
add edi, 8
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x2c]
mov dword [ecx + esi], edx
mov word [ecx + esi + 4], ax
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov ecx, edi
add esi, 0xfffffff8
dec dword [ebp - 0x28]
jne 0x5377dd
jmp 0x5379a6
mov edi, ecx
cmp dword [ebp - 0x10], ebx
ja 0x537eaa
cmp dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x1c]
jne 0x5379d7
mov dword [ebp - 0x14], 0
xor esi, esi
mov dword [ebp - 0x20], 0
xor ecx, ecx
mov dword [ebp - 0x1c], 0
xor ebx, ebx
jmp 0x537cb9
add ebx, eax
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
movzx edx, byte [edi + ecx]
mov esi, ebx
add eax, ecx
cmp edx, 0x3d
jne 0x537a53
mov edx, dword [ebp - 0x30]
lea ebx, [edx + ecx]
test bl, 2
je 0x537ac2
mov edi, dword [ebp - 0x28]
test eax, eax
cmove edi, ebx
mov ebx, esi
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x1c]
lea edx, [edi + ecx + 1]
inc ecx
cmp edx, esi
jne 0x537a16
jmp 0x537ada
test eax, eax
jg 0x537d65
mov ebx, edx
mov dword [ebp - 0x14], ebx
mov bl, byte [edx + 0x547f38]
cmp bl, 0xff
je 0x537d70
mov edx, dword [ebp - 0x30]
movzx ebx, bl
xor edi, edi
mov dword [ebp - 0x24], eax
lea edx, [edx + ecx + 1]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x1c]
lea edx, [edx + ecx + 1]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
inc ecx
mov dword [ebp - 0x3c], ecx
imul ecx, ecx, 0x3a
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, ebx
cmovne ebx, ecx
mov ecx, dword [ebp - 0x34]
or dword [ebp - 0x20], ebx
mov ebx, esi
or ecx, edi
cmp edx, esi
jne 0x537a0e
jmp 0x537add
add dword [ebp - 0x10], 2
jmp 0x537ad2
mov eax, dword [ebp - 0x24]
add eax, ecx
test eax, eax
cmovg ebx, dword [ebp - 0x28]
add dword [ebp - 0x10], ebx
mov al, 0x3d
mov dword [ebp - 0x14], eax
jmp 0x537c42
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
cmp esi, 8
ja 0x537ebe
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], 0
mov ebx, esi
add eax, dword [esi*4 + 0x537ee0]
jmp eax
add dword [ebp - 0x10], 5
jmp 0x537c3f
add dword [ebp - 0x10], 6
jmp 0x537c3f
add dword [ebp - 0x10], 7
jmp 0x537c3f
mov dword [ebp - 0x14], ebx
jmp 0x537b64
mov dword [ebp - 0x14], ebx
or edi, 1
jmp 0x537b64
mov dword [ebp - 0x14], ebx
or edi, 2
jmp 0x537b64
mov dword [ebp - 0x14], edx
or edi, 3
jmp 0x537b64
mov dword [ebp - 0x14], edx
or edi, 4
jmp 0x537b64
mov dword [ebp - 0x14], edx
or edi, 5
jmp 0x537b64
mov dword [ebp - 0x14], edx
or edi, 6
jmp 0x537b64
mov dword [ebp - 0x14], edx
or edi, 7
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], edi
jmp 0x537c49
mov dword [ebp - 0x14], eax
jmp 0x537ba9
mov dword [ebp - 0x14], edx
jmp 0x537bc3
mov dword [ebp - 0x14], edx
jmp 0x537bd2
add dword [ebp - 0x10], 8
jmp 0x537c1e
add dword [ebp - 0x10], 9
jmp 0x537c1e
add dword [ebp - 0x10], 0xa
jmp 0x537c1e
add dword [ebp - 0x10], 0xb
jmp 0x537c3f
mov dword [ebp - 0x14], ebx
inc dword [ebp - 0x10]
jmp 0x537c42
add dword [ebp - 0x10], 0xc
jmp 0x537c3f
add dword [ebp - 0x10], 0xd
jmp 0x537c3f
mov dword [ebp - 0x14], eax
add dword [ebp - 0x10], 3
jmp 0x537c42
add dword [ebp - 0x10], 0xe
jmp 0x537c3f
mov dword [ebp - 0x14], ecx
add dword [ebp - 0x10], 4
jmp 0x537c42
add dword [ebp - 0x10], 0xf
jmp 0x537c3f
add dword [ebp - 0x10], 0x10
jmp 0x537c1e
add dword [ebp - 0x10], 0x11
jmp 0x537c1e
add dword [ebp - 0x10], 0x12
jmp 0x537c1e
add dword [ebp - 0x10], 0x13
jmp 0x537c3f
add dword [ebp - 0x10], 0x14
jmp 0x537c3f
add dword [ebp - 0x10], 0x15
jmp 0x537c3f
add dword [ebp - 0x10], 0x16
jmp 0x537c3f
add dword [ebp - 0x10], 0x17
jmp 0x537c3f
add dword [ebp - 0x10], 0x18
jmp 0x537c1e
add dword [ebp - 0x10], 0x19
jmp 0x537c1e
add dword [ebp - 0x10], 0x1a
mov dword [ebp - 0x14], ebx
jmp 0x537c42
add dword [ebp - 0x10], 0x1b
jmp 0x537c3f
add dword [ebp - 0x10], 0x1c
jmp 0x537c3f
add dword [ebp - 0x10], 0x1d
jmp 0x537c3f
add dword [ebp - 0x10], 0x1e
jmp 0x537c3f
add dword [ebp - 0x10], 0x1f
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 0
movzx edi, byte [ebp - 0x14]
mov edx, dword [ebp - 0x10]
movzx eax, byte [ebp - 0x18]
mov esi, dword [ebp - 0x50]
mov ecx, edx
shl edi, 8
shr edx, 8
shl ecx, 0x18
or eax, edi
shld edx, ecx, 8
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x44], 0
mov dword [esi + 8], edx
mov dword [esi], 0
je 0x537c8b
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov eax, ecx
mov ecx, ebx
shld eax, esi, cl
shl esi, cl
test bl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
or esi, eax
je 0x537cf4
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
lea eax, [eax + ecx - 1]
mov dword [ebp - 0x10], eax
mov al, 2
mov dword [ebp - 0x18], eax
jmp 0x537c49
cmp byte [ebp - 0x1c], 0
mov dword [ebp - 0x10], ebx
je 0x537d46
cmp edi, edx
mov eax, edx
cmova eax, edi
xor esi, esi
mov dword [ebp - 0x1c], eax
mov eax, 0x38
cmp dword [ebp - 0x1c], edi
je 0x537d80
mov edx, edi
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x34]
mov ecx, eax
and cl, 0x38
shrd edi, ebx, cl
mov ecx, eax
and cl, 0x18
shr ebx, cl
mov ecx, dword [ebp - 0x38]
test al, 0x20
cmove ebx, edi
mov edi, edx
add esi, 8
add eax, 0xfffffff8
inc edi
cmp esi, dword [ebp - 0x10]
mov byte [ecx + edx], bl
mov edx, dword [ebp - 0x18]
jb 0x537d0e
mov eax, dword [ebp - 0x40]
cmp eax, edi
cmovb edi, eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], edi
movsd xmm0, qword [ebp - 0x48]
mov dword [eax + 8], edi
movsd qword [eax], xmm0
jmp 0x537c8b
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x10], eax
jmp 0x537ad0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x537c42
mov ecx, dword [ebp - 0x1c]
push 0x5a4cb8
jmp 0x537e05
xor ecx, ecx
xor edx, edx
push 0x5a4be8
jmp 0x537e05
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x5a4bf8
jmp 0x537e05
mov ecx, 2
mov edx, 2
push 0x5a4c08
jmp 0x537e05
mov ecx, 3
mov edx, 3
push 0x5a4c18
jmp 0x537e05
mov ecx, 4
mov edx, 4
push 0x5a4c28
jmp 0x537e05
mov ecx, 5
mov edx, 5
push 0x5a4c38
jmp 0x537e05
mov ecx, 6
mov edx, 6
push 0x5a4c48
jmp 0x537e05
mov ecx, 7
mov edx, 7
push 0x5a4c58
call fcn.00444440
add esp, 4
ud2
mov ecx, 0x547eb5
mov edx, 0x33
push 0x547ee8
call fcn.00448d20
jmp 0x537e0a
add eax, 8
mov ecx, 0xfffffff8
mov edx, eax
push 0x5a4c88
jmp 0x537e8e
add edi, 8
mov edx, ebx
mov ecx, edi
push 0x5a4c88
jmp 0x537ea0
mov edx, eax
push 0x5a4c98
jmp 0x537e8e
mov ecx, eax
push 0x5a4c98
jmp 0x537ea0
mov ecx, 0xffffffe0
xor edx, edx
push 0x5a4c68
jmp 0x537e8e
mov ecx, dword [ebp - 0x10]
mov edx, ebx
add ecx, 0x20
push 0x5a4c68
jmp 0x537ea0
push 0x5a4c78
jmp 0x537ea0
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push 0x5a4d34
jmp 0x537eb4
lea edx, [ecx + 6]
push 0x5a4d44
call fcn.00446290
jmp 0x537e0a
add ecx, 6
push 0x5a4d44
call fcn.00445020
jmp 0x537e0a
mov ecx, dword [ebp - 0x10]
mov edx, ebx
push 0x5a4ca8
call fcn.00444cf0
jmp 0x537e0a
call fcn.004622c0
ud2